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

# Set Target Account Tier

> File one target account under a tier

Sets which tier a target account belongs to, using the name your workspace uses
or the tier's id.

This is a separate endpoint from the account's own fields on purpose: a tier is
not stored on the target account. It belongs to the **company** behind it — the
same record the Accounts and People tables show a tier on — so setting one here
and setting one in the app write the same thing.

## Path Parameters

<ParamField path="accountID" type="string" required>
  The target account's `id`, from [List Target Accounts](/api-reference/list-target-accounts).
</ParamField>

## Body

Send one of the two. `tier_id` wins if you send both.

<ParamField body="tier" type="string">
  Tier name, as your workspace spells it. See [List Account Tiers](/api-reference/list-tiers).
  Send `""` to clear the tier.
</ParamField>

<ParamField body="tier_id" type="string">
  The tier's id, if you have it. Send `""` to clear the tier.
</ParamField>

<Note>
  **Tier names are yours.** One workspace uses "A / B / C", the next uses
  "Strategic / Growth / Watch". An unknown name is rejected rather than created,
  and the error lists where to find the real ones — so read the vocabulary before
  writing to it.
</Note>

<Warning>
  **409 means the account has not matched a company yet.** A tier attaches to the
  company behind an account, so until Clustr has matched one there is nothing to
  file. The fix is to add or correct the account's LinkedIn URL, which makes the
  match exact. This is the one failure here that is about your data rather than
  your request.
</Warning>

<RequestExample>
  ```bash cURL (by name) theme={null}
  curl -X PATCH "https://api.clustr-ai.com/api/public/target-accounts/a1b2c3d4-.../tier" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"tier": "Tier 1"}'
  ```

  ```bash cURL (clear it) theme={null}
  curl -X PATCH "https://api.clustr-ai.com/api/public/target-accounts/a1b2c3d4-.../tier" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"tier": ""}'
  ```

  ```python Python theme={null}
  import requests

  requests.patch(
      "https://api.clustr-ai.com/api/public/target-accounts/a1b2c3d4-.../tier",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      json={"tier": "Tier 1"},
  )
  ```

  ```javascript JavaScript theme={null}
  await fetch(
    "https://api.clustr-ai.com/api/public/target-accounts/a1b2c3d4-.../tier",
    {
      method: "PATCH",
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ tier: "Tier 1" }),
    },
  );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "target_account": {
        "id": "a1b2c3d4-...",
        "account_name": "Acme Corp",
        "account_linkedin_url": "https://www.linkedin.com/company/acme-corp",
        "tier": "Tier 1",
        "tier_id": "7f3e1a22-...",
        "company_id": "9c4d5e6f-..."
      }
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": {
      "message": "No tier named \"Platinum\" in this workspace. Tiers are named per workspace; list them at GET /public/tenant-tiers",
      "code": "BAD_REQUEST"
    }
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": {
      "message": "Invalid or missing API key",
      "code": "UNAUTHORIZED"
    }
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "error": {
      "message": "Target account not found",
      "code": "NOT_FOUND"
    }
  }
  ```

  ```json 409 theme={null}
  {
    "success": false,
    "error": {
      "message": "This target account does not match any company yet, so there is no account to tier. Add or correct its LinkedIn URL first.",
      "code": "CONFLICT"
    }
  }
  ```
</ResponseExample>
