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

# Create a supplier

> Creates a new supplier. Suppliers are referenced in goods receipts and purchase orders.

<ParamField header="x-api-key" type="string" required>
  BOH API key with `catalog:write` scope.
</ParamField>

<ParamField path="vendorId" type="string" required>
  Vendor UUID.
</ParamField>

<ParamField body="name" type="string" required>
  Supplier display name.
</ParamField>

<ParamField body="code" type="string">
  Short alphanumeric code.
</ParamField>

<ParamField body="external_supplier_id" type="string">
  Your system's supplier identifier. Must be unique within the account.
</ParamField>

<ParamField body="email" type="string">
  Contact email.
</ParamField>

<ParamField body="phone" type="string">
  Contact phone.
</ParamField>

<ParamField body="tax_id" type="string">
  Tax/fiscal identifier.
</ParamField>

<ParamField body="metadata" type="object">
  Free-form extra data.
</ParamField>

<ParamField body="external_user_id" type="string">
  Actor for audit trail.
</ParamField>

<RequestExample>
  ```json theme={null}
  {
    "name": "Best Foods Co.",
    "code": "BEST-FOODS",
    "external_supplier_id": "SUP-001",
    "email": "orders@bestfoods.com",
    "tax_id": "12-3456789",
    "external_user_id": "user_admin_01"
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": "sup_01j5k...",
    "account_id": "acc_01j5k...",
    "external_supplier_id": "SUP-001",
    "code": "BEST-FOODS",
    "name": "Best Foods Co.",
    "email": "orders@bestfoods.com",
    "phone": null,
    "tax_id": "12-3456789",
    "is_active": true,
    "metadata": {},
    "created_at": "2026-08-07T14:30:00.000Z",
    "updated_at": "2026-08-07T14:30:00.000Z"
  }
  ```

  ```json 409 theme={null}
  {
    "error": {
      "kind": "supplier_external_id_conflict",
      "message": "A supplier with this external_supplier_id already exists"
    }
  }
  ```
</ResponseExample>
