# Create Customer Account

## Account Types

Customer accounts cannot create their own sub users or white labels. They are specifically for customers.

Submasters can create whitelabels, create pricing structures and create complete customer accounts. These are typically used for resellers.

## GET or POST Request

{% hint style="info" %}
<https://v1.api19.com/account/create/customer>
{% endhint %}

Create a new Customer account using /account/create/customer

## GET or POST Request

{% hint style="info" %}
<https://v1.api19.com/account/create/submaster>
{% endhint %}

Create a new Submaster account using /account/create/submaster

## HTTP Post Variables Supported

<table data-header-hidden><thead><tr><th width="149.3636474609375"></th><th width="108.54547119140625"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Required</td><td>Type</td></tr><tr><td>login</td><td>yes</td><td>username (a-Z, 1-9)</td></tr><tr><td>email</td><td>yes</td><td>email address</td></tr><tr><td>name</td><td>yes</td><td>customer name</td></tr><tr><td>company</td><td>yes</td><td>company name</td></tr><tr><td>password</td><td>yes</td><td>password</td></tr><tr><td>rate_sheet</td><td>yes</td><td>rate sheet ID #</td></tr><tr><td>whitelabel</td><td>no</td><td>whitelabel ID #</td></tr><tr><td>key</td><td>yes</td><td>your API key</td></tr></tbody></table>

{% tabs %}
{% tab title="Curl Post" %}

```php
curl https://v1.api19.com/account/create/customer \
 -d 'key=api_token' \
 -d 'login=login_name' \
 -d 'name=customer_name' \
 -d 'password=gh29gh3g34rg3' \
 -d 'rate_sheet=3' \
 -d 'whitelabel=3' \
 -d 'email=me@example.com' \
 -d 'company=new+company'
```

{% endtab %}

{% tab title="JSON Response" %}

```json
{"status":"ok", "user_id":330022}
OR
{"status":"error","error":"test_login is already taken"}
OR
{"status":"error","error":"Login tes is not 4 characters long"}
OR
{"status":"error","error":"Account password contains characters not allowed: x"}
```

{% endtab %}
{% endtabs %}

## Get Whitelabel and Rate ID's

{% hint style="info" %}
<https://v1.api19.com/account/list/options>
{% endhint %}

The /account/list/options command will return a json object with your whitelabel and rates ID numbers. You can also get them from the user portal. Prices are your ratesheets.

```
{
  "status": "ok",
  "whitelabels": [
    {
      "id": "282",
      "name": "my portal",
      "url": "myportal.net"
    }
  ],
  "prices": [
    {
      "id": "30002",
      "user_id": "300",
      "old_user_id": "0",
      "description": "Default",
      "outbound_usa": "0.015",
      "outbound_usa_callfwd": "0.015",
      "outbound_intl": "0.01",
      "outbound_intl_markup": "1",
      "inbound_usa": "0.0075",
      "inbound_canada": "0.005",
      "inbound_tollfree": "0.015",
      "inbound_intl": "0.005",
      "inbound_offnet": "0.001",
      "inbound_channels_mrc": "10",
      "outbound_usa_sms": "0.00375",
      "inbound_usa_sms": "0.00375",
      "inbound_tf_sms": "0.005",
      "outbound_tf_sms": "0.005",
      "inbound_tf_mms": "0.01",
      "outbound_tf_mms": "0.01",
      "outbound_usa_mms": "0.01",
      "inbound_usa_mms": "0",
      "inbound_shortcode_mms": "0",
      "inbound_shortcode_sms": "0",
      "outbound_shortcode_mms": "0.01",
      "outbound_shortcode_sms": "0.005",
      "e911_usa": "1.5",
      "outbound_usa_fax": "0.045",
      "inbound_usa_fax": "0.045",
      "inbound_tollfree_fax": "0.03",
      "local_number_mrc": "1.5",
      "local_number_nrc": "1.5",
      "canada_number_mrc": "1",
      "canada_number_nrc": "1",
      "tollfree_number_mrc": "1",
      "tollfree_number_nrc": "1",
      "offnet_number_mrc": "0.01",
      "offnet_number_nrc": "0",
      "offnet_sms_mrc": "0.15",
      "offnet_sms_nrc": "0",
      "onnet_sms_mrc": "0.05",
      "lnp_local_nrc": "0",
      "lnp_tollfree_nrc": "0",
      "shortcode_mrc": "1050",
      "shortcode_random_mrc": "500",
      "shortcode_premium_mrc": "600",
      "shortcode_imported_mrc": "0",
      "shortcode_vanity_mrc": "1000",
      "shortcode_nrc": "2250",
      "fax_local_number_mrc": "3",
      "fax_local_number_nrc": "3",
      "fax_tollfree_number_mrc": "3",
      "fax_tollfree_number_nrc": "3",
      "cnam_lookups": "0.0075",
      "e911_mrc": "1",
      "e911_nrc": "1",
      "e911_ecrc": "90",
      "fax_price_perpage": "0",
      "fax_free_pages": "0",
      "max_usa_cost": "0.04",
      "max_intl_cost": "0.3",
      "cloudsoftphone_mrc": "0.3",
      "allow_termination": "yes",
      "minimum_did_hold": "0",
      "tax_rate": "0",
      "campaign_registry_markup": "0",
      "faxback_device_mrc": "1",
      "faxback_device_refurb_nrc": "49",
      "faxback_device_new_nrc": "139",
      "sms_daily_limit": "10000",
      "lookup_cnam": "0.005",
      "lookup_number": "0.005",
      "lookup_daily_limit": "1000",
      "voicebots": "0.03",
      "registered_agent": "45"
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.api19.com/account/create-customer-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
