> ## Documentation Index
> Fetch the complete documentation index at: https://docs.layerfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer object

A Customer of a business can receive invoices and refunds and have payments applied to their invoices.

Customers can be referenced when creating invoices and refunds using either the Layer `id`, or the `external id`.

### Attributes

<ParamField body="id" required={true} type="string">
  Unique identifier for the customer.
</ParamField>

<ParamField body="external_id" type="string">
  Unique ID of the customer in your system for linking and idempotency.
</ParamField>

<ParamField body="individual_name" type="string">
  Full name of the individual customer or contact at a corporate customer.
</ParamField>

<ParamField body="company_name" type="string">
  Name of the company customer.
</ParamField>

<ParamField body="email" type="string">
  Email address of the customer.
</ParamField>

<ParamField body="mobile_phone" type="string">
  Mobile phone number of the customer.
</ParamField>

<ParamField body="office_phone" type="string">
  Office phone number of the customer.
</ParamField>

<ParamField body="address_string" type="string">
  Full address of the customer.
</ParamField>

<ParamField body="status" type="enum">
  Status of the customer.
  Possible values are: `ACTIVE`, `ARCHIVED`
  Archived customers will not appear when listing customers, but their accounting continues to be tracked and they can still be retrieved directly in the API.
</ParamField>

<ResponseField name="transaction_tags" type="Array of Tags">
  <Expandable title="Tag properties">
    <ResponseField name="key" required="true" type="string">
      The tag's key
    </ResponseField>

    <ResponseField name="value" required="true" type="string">
      The tag's value
    </ResponseField>

    <ResponseField name="created_at" required="true" type="ISO8601 timestamp">
      When the tag was created
    </ResponseField>

    <ResponseField name="updated_at" required="true" type="ISO8601 timestamp">
      When the tag was last updated
    </ResponseField>

    <ResponseField name="deleted_at" type="ISO8601 timestamp">
      When the tag was deleted
    </ResponseField>
  </Expandable>
</ResponseField>

<ParamField body="memo" type="string">
  Memo for any text you would like to associate with the customer (for example, to display to end users).
</ParamField>

<ParamField body="metadata" type="object">
  Arbitrary custom metadata in JSON format with a size limit of 1KB.
</ParamField>

<ParamField body="reference_number" type="string">
  Any (typically user-visible) identifier you would like to associate with the customer. Can be used to filter when listing customers.
</ParamField>

<ResponseExample>
  ```json Response theme={null}
  {
   "data": {
     "type": "CustomerData",
     "id": "4f7c1b16-e057-4ec0-8b20-50308ba5b9ea",
     "external_id": "customer-1",
     "individual_name": "John Doe",
     "company_name": "Acme, Inc.",
     "email": "john@hotmail.com",
     "mobile_phone": "555-555-5555",
     "office_phone": "555-555-5555",
     "address_string": "123 Main St, Phoenix, AZ 85001",
     "notes": "This is a note",
     "status": "ACTIVE",
     "transaction_tags": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "key": "department",
        "value": "sales",
        "dimension_display_name": "Department",
        "value_display_name": "Sales Team",
        "dimension_id": "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
        "definition_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
        "created_at": "2024-02-27T02:16:40.389772Z",
        "updated_at": "2024-02-27T02:16:40.389772Z",
        "deleted_at": null,
        "archived_at": null
      }
    ]
   }
  }
  ```
</ResponseExample>
