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

# Apply brand config

> Config applied and a new version published (or changed: false when it was identical).

### Path parameters

<ParamField path="brand_id" type="string (uuid)" required />

### Request body

`object`

<ParamField body="document" type="object" required />

<ParamField body="brand_patch" type="object" />

<ParamField body="connectors" type="object[]" />

<ParamField body="migration" type="object" />

<ParamField body="expected_config_version" type="integer" />

<ParamField body="change_note" type="string" />

<ParamField body="min_golden_pass_rate" type="number" />

### Response

`object`

<ResponseField name="brand" type="object" required>
  Brand record

  <Expandable title="brand">
    <ResponseField name="id" type="string (uuid)" required />

    <ResponseField name="tenant_id" type="string (uuid)" required />

    <ResponseField name="slug" type="string" required />

    <ResponseField name="display_name" type="string" required />

    <ResponseField name="status" type="string" required />

    <ResponseField name="routing_mode" type="string" required />

    <ResponseField name="canary_percent" type="integer" required />

    <ResponseField name="region" type="string" required />

    <ResponseField name="default_locale" type="string" required />

    <ResponseField name="policy_set_key" type="string" />

    <ResponseField name="quotas" type="object" required />

    <ResponseField name="metadata" type="object" required />

    <ResponseField name="config_version" type="integer" required />

    <ResponseField name="config_fingerprint" type="string" required />

    <ResponseField name="activated_at" type="string (date-time)" />

    <ResponseField name="created_at" type="string (date-time)" required />

    <ResponseField name="updated_at" type="string (date-time)" required />

    <ResponseField name="workflow_bindings" type="object[]" required>
      <Expandable title="workflow_bindings">
        <ResponseField name="workflow_type" type="string" required />

        <ResponseField name="template_key" type="string" required />

        <ResponseField name="template_version" type="integer" required />

        <ResponseField name="task_queue" type="string" required />

        <ResponseField name="enabled" type="boolean" required />

        <ResponseField name="deterministic_config" type="object" required />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="connectors" type="object[]" required>
  <Expandable title="connectors">
    <ResponseField name="id" type="string (uuid)" required />

    <ResponseField name="brand_id" type="string (uuid)" required />

    <ResponseField name="connector_key" type="string" required />

    <ResponseField name="connector_type" type="string" required />

    <ResponseField name="direction" type="string" required />

    <ResponseField name="target" type="object" required />

    <ResponseField name="auth" type="object" required>
      <Expandable title="auth">
        <ResponseField name="secret_ref" type="string" />

        <ResponseField name="headers" type="object" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="retry_policy" type="object" required />

    <ResponseField name="enabled" type="boolean" required />

    <ResponseField name="metadata" type="object" required />

    <ResponseField name="created_at" type="string (date-time)" required />

    <ResponseField name="updated_at" type="string (date-time)" required />
  </Expandable>
</ResponseField>

<ResponseField name="validation" type="object" required>
  Validation report

  <Expandable title="validation">
    <ResponseField name="valid" type="boolean" required />

    <ResponseField name="errors" type="string[]" required />

    <ResponseField name="warnings" type="string[]" required />

    <ResponseField name="checks" type="object[]" required>
      <Expandable title="checks">
        <ResponseField name="code" type="string" required />

        <ResponseField name="ok" type="boolean" required />

        <ResponseField name="message" type="string" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="readiness" type="object">
      <Expandable title="readiness">
        <ResponseField name="activation_ready" type="boolean" required />

        <ResponseField name="self_service_ready" type="boolean" required />

        <ResponseField name="summary" type="string" required />

        <ResponseField name="steps" type="object[]" required />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="version" type="object" required>
  <Expandable title="version">
    <ResponseField name="id" type="string (uuid)" required />

    <ResponseField name="brand_id" type="string (uuid)" required />

    <ResponseField name="version" type="integer" required />

    <ResponseField name="fingerprint" type="string" required />

    <ResponseField name="snapshot" type="object" required />

    <ResponseField name="published_by" type="string" />

    <ResponseField name="published_at" type="string (date-time)" required />

    <ResponseField name="is_active" type="boolean" required />

    <ResponseField name="created_at" type="string (date-time)" required />
  </Expandable>
</ResponseField>

<ResponseField name="changed" type="boolean" required />

### Status codes

| Code  | Meaning                                                                                 |
| ----- | --------------------------------------------------------------------------------------- |
| `200` | Config applied and a new version published (or `changed: false` when it was identical). |
| `400` | Validation error                                                                        |
| `401` | Unauthorized                                                                            |
| `404` | Not found                                                                               |
| `429` | Rate limited                                                                            |
| `500` | Internal error                                                                          |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.workstream.stateset.com/v1/brands/{brand_id}/config/apply' \
    --header "x-api-key: $STATESET_TEMPORAL_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
    "document": {},
    "brand_patch": {},
    "connectors": [
      {}
    ],
    "migration": {},
    "expected_config_version": 1,
    "change_note": "string",
    "min_golden_pass_rate": 7.5
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "brand": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "tenant_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "slug": "acme-outdoors",
      "display_name": "Ada Lovelace",
      "status": "pending",
      "routing_mode": "string",
      "canary_percent": 8,
      "region": "CA",
      "default_locale": "string",
      "policy_set_key": "string",
      "quotas": {},
      "metadata": {},
      "config_version": 1,
      "config_fingerprint": "string",
      "activated_at": "2026-08-31T14:22:05Z",
      "created_at": "2026-08-31T14:22:05Z",
      "updated_at": "2026-08-31T14:22:05Z",
      "workflow_bindings": [
        {
          "workflow_type": null,
          "template_key": null,
          "template_version": null,
          "task_queue": null,
          "enabled": null,
          "deterministic_config": null
        }
      ]
    },
    "connectors": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "brand_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "connector_key": "string",
        "connector_type": "string",
        "direction": "string",
        "target": {},
        "auth": {
          "secret_ref": null,
          "headers": null
        },
        "retry_policy": {},
        "enabled": true,
        "metadata": {},
        "created_at": "2026-08-31T14:22:05Z",
        "updated_at": "2026-08-31T14:22:05Z"
      }
    ],
    "validation": {
      "valid": true,
      "errors": [
        "string"
      ],
      "warnings": [
        "string"
      ],
      "checks": [
        {
          "code": null,
          "ok": null,
          "message": null
        }
      ],
      "readiness": {
        "activation_ready": true,
        "self_service_ready": true,
        "summary": "Two-person tent, green — replacement for damaged pole set.",
        "steps": []
      }
    },
    "version": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "brand_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "version": 1,
      "fingerprint": "sha256:9f86d081884c7d659a2feaa0c55ad015",
      "snapshot": {},
      "published_by": "string",
      "published_at": "2026-08-31T14:22:05Z",
      "is_active": true,
      "created_at": "2026-08-31T14:22:05Z"
    },
    "changed": true
  }
  ```
</ResponseExample>
