# Create Account Creates a new sub-account under your authenticated reseller account and returns API credentials for the new account. This endpoint is only available to approved reseller accounts. Contact name.com support to request access. Endpoint: POST /core/v1/accounts Version: 1.3.1 Security: BasicAuth ## Request fields (application/json): - `account` (object, required) The account details for the new account being created. Example: {"accountName":"reseller_subaccount","password":"SecureP4ss!","contacts":{"registrant":{"firstName":"Jane","lastName":"Doe","address1":"123 Main St.","city":"Denver","state":"CO","zip":"12345","country":"US","phone":"+13035551212","email":"admin@example.net"}}} - `account.accountId` (integer) AccountId is the unique id of account. Example: 12345 - `account.accountName` (string) AccountName is the unique name of the account. Minimum length is 6 characters, maximum length is 60. Example: "reseller_subaccount" - `account.autoRenew` (boolean) When set to true, domains in this account will be automatically renewed before expiration. - `account.contacts` (object) Contact information associated with this account. Example: {"registrant":{"firstName":"Jane","lastName":"Doe","address1":"123 Main St.","city":"Denver","state":"CO","zip":"12345","country":"US","phone":"+13035551212","email":"admin@example.net"}} - `account.contacts.admin` (object) Contact contains all relevant contact data for a domain registrant. - `account.contacts.admin.firstName` (string, required) First name of the contact. Example: "John" - `account.contacts.admin.lastName` (string, required) Last name of the contact. Example: "Doe" - `account.contacts.admin.companyName` (string,null) Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise. Example: "Example Inc." - `account.contacts.admin.address1` (string, required) The first line of the contact's address. Example: "123 Main Street" - `account.contacts.admin.address2` (string,null) The second line of the contact's address (optional). Example: "Suite 400" - `account.contacts.admin.city` (string, required) City of the contact's address. Example: "New York" - `account.contacts.admin.state` (string, required) State or Province of the contact's address. Example: "NY" - `account.contacts.admin.zip` (string, required) ZIP or Postal Code of the contact's address. Example: "10001" - `account.contacts.admin.country` (string, required) Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code. Example: "US" - `account.contacts.admin.email` (string, required) Email address of the contact. Must be a valid email format. The validation is performed against the syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822) Example: "john.doe@example.com" - `account.contacts.admin.phone` (string, required) Phone number of the contact. Should follow the E.164 international format: "+[country code][number]". Example: "+15551234567" - `account.contacts.admin.fax` (string,null) Fax number of the contact. Should follow the E.164 international format: "+[country code][number]". Example: "+15557654321" - `account.contacts.billing` (object) Contact contains all relevant contact data for a domain registrant. - `account.contacts.registrant` (object) Contact contains all relevant contact data for a domain registrant. Example: {"firstName":"Jane","lastName":"Doe","address1":"123 Main St.","city":"Denver","state":"CO","zip":"12345","country":"US","phone":"+13035551212","email":"admin@example.net"} - `account.contacts.registrant.companyName` (string,null) Company name of the contact. Leave blank if the contact is an individual. Please be advised that ICANN policy links the "Company Name" field (Organization) in your domain's contact details to its legal ownership. If this field contains information, the listed organization is considered the legal "Registered Name Holder" (domain owner). Example: "Example Inc." - `account.contacts.tech` (object) Contact contains all relevant contact data for a domain registrant. - `account.createDate` (string) CreateDate is the date the account was created. Example: "2023-04-01T12:00:00Z" - `account.password` (string) Password has minimum length of 7 characters. It must contain at least 1 letter and at least 1 number/symbol. Example: "SecureP4ss!" - `apiTos` (boolean, required) Must be set to true to indicate acceptance of the API Terms of Service. Example: true - `tos` (boolean, required) Must be set to true to indicate acceptance of the general Terms of Service. Example: true ## Response 200 fields (application/json): - `accountName` (string, required) AccountName is the unique user-assigned name of newly created account. Example: "new_reseller_account" - `apiToken` (string, required) The authentication token that should be used to access the API. This value is only returned once upon account creation. Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" - `apiTokenName` (string, required) ApiTokenName user assigned name of api token. Example: "my_reseller_token" ## Response 400 fields (application/json): - `message` (string) A human-readable message providing more details about the error Example: "Bad Request" - `details` (string,null) Additional context or information about the error Example: "'domainName' cannot be null" ## Response 401 fields (application/json): - `message` (string, required) A human-readable message providing more details about the error Example: "Unauthorized" ## Response 403 fields (application/json): - `message` (string, required) A human-readable message providing more details about the error Example: "Permission denied" - `details` (string,null) Additional context or information about the error Example: "Failed authentication" ## Response 415 fields (application/json): - `message` (string, required) A human-readable message providing more details about the error Example: "The 'Content-Type' header must be 'application/json' for this request." ## Response 429 fields (application/json): - `message` (string) A human-readable message providing more details about the error Example: "Rate Limit Exceeded"