xclade
Admin APICustomers

Create Customer

Create a customer.

POST
/admin/customers
AuthorizationBearer <token>

In: header

Query Parameters

fields?string

Comma-separated fields that should be included in the returned data. if a field is prefixed with + it will be added to the default fields, using - will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the Retrieve Custom Links documentation.

Request Body

application/json

email*string

The customer's email.

Formatemail
company_name*string

The customer's company name.

first_name*string

The customer's first name.

last_name*string

The customer's last name.

phone*string

The customer's phone.

metadata*object

The customer's metadata.

additional_data?object

Pass additional custom data to the API route. This data is passed to the underlying workflow under the additional_data parameter.

Response Body

application/json

application/json

text/plain

application/json

application/json

application/json

application/json

curl -X POST "https://{tenant}.api.myxclade.com/admin/customers" \  -H "Content-Type: application/json" \  -d '{    "email": "user@example.com",    "company_name": "string",    "first_name": "string",    "last_name": "string",    "phone": "string",    "metadata": {}  }'
{
  "customer": {
    "id": "string",
    "has_account": true,
    "groups": [
      {
        "id": "string",
        "name": "string",
        "customers": [
          {}
        ],
        "metadata": {},
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      }
    ],
    "email": "user@example.com",
    "default_billing_address_id": "string",
    "default_shipping_address_id": "string",
    "company_name": "string",
    "first_name": "string",
    "last_name": "string",
    "addresses": [
      {
        "id": "string",
        "address_name": "string",
        "is_default_shipping": true,
        "is_default_billing": true,
        "customer_id": "string",
        "company": "string",
        "first_name": "string",
        "last_name": "string",
        "address_1": "string",
        "address_2": "string",
        "city": "string",
        "country_code": "us",
        "province": "us-ca",
        "postal_code": "string",
        "phone": "string",
        "metadata": {},
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      }
    ],
    "phone": "string",
    "metadata": {},
    "created_by": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "deleted_at": "2019-08-24T14:15:22Z"
  }
}

{
  "message": "Discount must be set to dynamic",
  "type": "not_allowed"
}

"Unauthorized"
{
  "message": "Entity with id 1 was not found",
  "type": "not_found"
}
{
  "code": "unknown_error",
  "message": "The request conflicted with another request. You may retry the request with the provided Idempotency-Key.",
  "type": "QueryRunnerAlreadyReleasedError"
}
{
  "code": "invalid_request_error",
  "message": "Discount with code TEST already exists.",
  "type": "duplicate_error"
}

{
  "code": "api_error",
  "message": "An error occured while hashing password",
  "type": "database_error"
}