Create customer

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

The Create Customer endpoint adds a new business company (a Customer or a Broker/3PL) to your account. On success it returns the created record together with the optimistic-concurrency token (ETag) you will need for any later update or delete. For more information on how versioning works and how to include it in your requests, please refer to the Versioning page.

Per-tenant, per-Type uniqueness is enforced on CompanyNumber, ExternalId, and (Name + Zip). A request that would create a duplicate is rejected with 409 Conflict and the identifier of the existing customer.


Request Parameters

The following parameter is required in the URL path:

ParameterTypeRequiredDescription
versionStringYesThe version of the API.

Request Body

The request body accepts the following fields. Only Name is required.

FieldTypeRequiredDescription
NameStringYesThe customer name. Must be 200 characters or fewer.
TypeStringNoThe customer type. One of "Customer" or "Broker/3PL".
CompanyNumberStringNoA reference/registration number for the company. Must be 32 characters or fewer.
StatusStringNoThe customer status. One of "Active" or "Inactive".
BillingAddressObjectNoThe billing address of the customer.
BillingAddress.StreetStringNoThe street line of the billing address.
BillingAddress.CityStringNoThe city of the billing address.
BillingAddress.StateStringNoThe state of the billing address.
BillingAddress.ZipStringNoThe postal code of the billing address.
BillingAddress.CountryStringNoISO country code of the billing address. Defaults to "US".
EmailArray of StringNoA list of email addresses associated with the customer.
PhoneArray of StringNoA list of phone numbers associated with the customer.
FaxStringNoThe fax number of the customer.
ExternalIdStringNoAn external reference identifier. Must be 100 characters or fewer.

Example CURL Request

curl --location 'https://integrations.alvys.com/api/p/v1/customers' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "Name": "Acme Logistics",
  "Type": "Broker/3PL",
  "CompanyNumber": "ACME-001",
  "Status": "Active",
  "BillingAddress": {
    "Street": "123 Main St",
    "City": "Dallas",
    "State": "TX",
    "Zip": "75201",
    "Country": "US"
  },
  "Email": ["[email protected]"],
  "Phone": ["+1-214-555-0100"],
  "ExternalId": "EXT-ACME-001"
}'

Replace YOUR_ACCESS_TOKEN with your actual Bearer token.


Response Fields

A successful request returns the created customer. The optimistic-concurrency token is returned both on the HTTP ETag response header and in the ETag body field, so you can use it on a follow-up If-Match without an extra GET.

FieldTypeDescription
IdStringThe unique identifier of the created customer.
ETagStringThe optimistic-concurrency token for the new record.
NameStringThe name of the customer.
CompanyNumberStringThe company number of the customer.
TypeStringThe type of customer ("Customer" or "Broker/3PL").
StatusStringThe raw persisted status of the customer.
BillingAddressObjectThe billing address of the customer.
BillingAddress.StreetStringThe street line of the billing address.
BillingAddress.CityStringThe city of the billing address.
BillingAddress.StateStringThe state of the billing address.
BillingAddress.ZipCodeStringThe postal code of the billing address.
EmailArrayA list of email addresses associated with the customer.
PhoneArrayA list of phone numbers associated with the customer.
FaxStringThe fax number of the customer.
DateCreatedString (Date-Time)The date and time when the customer was created.
DateModifiedString (Date-Time)The date and time of this write.
InvoicingInformationObjectThe invoicing information for the customer.
ExternalIdStringThe external identifier associated with the customer.

Example Response

201 Created

{
  "Id": "01fec4d332ed49ff96595c8d4434ea96",
  "ETag": "\"00000000-0000-0000-0000-000000000001\"",
  "Name": "Acme Logistics",
  "CompanyNumber": "ACME-001",
  "Type": "Broker/3PL",
  "Status": "Active",
  "BillingAddress": {
    "Street": "123 Main St",
    "City": "Dallas",
    "State": "TX",
    "ZipCode": "75201"
  },
  "Email": ["[email protected]"],
  "Phone": ["+1-214-555-0100"],
  "Fax": null,
  "DateCreated": "2025-09-08T19:38:34.529Z",
  "DateModified": "2025-09-08T19:38:34.529Z",
  "InvoicingInformation": null,
  "ExternalId": "EXT-ACME-001"
}

Status Codes

StatusMeaning
201The customer was created.
400The request body failed validation.
401The request was not authenticated.
403The caller lacks permission to create customers.
409A customer with the same CompanyNumber, ExternalId, or (Name + Zip) already exists. The response includes the existing customerId.

Rate Limits

All endpoints are subject to rate limits to protect the API from traffic spikes. For detailed information on rate limits, please refer to the Rate Limits section.

This page is interactive, allowing you to try a request by completing the fields for the parameters below. As you fill out the parameters, the CURL command on the right side of the page will be automatically updated.

Path Params
string
required
Defaults to 1.0

API version (e.g., 1.0)

Body Params
string | null
string | null
string | null
string | null
BillingAddress
object | null
Email
array of strings | null
Email
Phone
array of strings | null
Phone
string | null
string | null
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json-patch+json

Generated from available request content types

Allowed:
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json