# Update subprocessor

URL: /en/docs/api/v1/subprocessors/id/patch
Last Updated: 2026-07-30T21:15:30.335Z

## Description
No description available.

## Available Actions
- Execute PATCH request
- View request parameters
- View response schema
- Get code examples
- Navigate to related topics
- View step-by-step instructions
- Get best practices

## Content
### PATCH /api/v1/subprocessors/{id}

**Update subprocessor**

Modify subprocessor metadata. Badge uploads occur through `/api/v1/subprocessors/{id}/badge`.

**Authentication:** Bearer token (`Authorization: Bearer <token>`)

**Path parameters:**

| Name | Type | Required | Description |
|---|---|---|---|
| `id` | string | Yes |  |

**Request body** (`application/json`) - required:

- `title` (string)
- `location` (string)
- `description` (string)
- `description_markdown` (string)
- `template` (string)
- `type` (enum: required | optional): Leave blank to keep the current value; send an empty string to clear it
- `featured` (boolean): Toggle whether this vendor is highlighted on the Trust Center overview tab
- `variant_options` (array of string): Variant option IDs to assign this subprocessor to. Replaces all existing assignments. Only accepted on default-locale updates; supplying it on a non-default-locale (translation) update returns 400 with error `variant_options_default_locale_only`. Unknown or foreign option IDs return 400 with error `unknown_variant_options`. Option ownership is validated before any write; assignments are applied after the content update succeeds. If the content update succeeds but the assignment sync fails, the response is still 200 and includes `variant_assignments_warning: variant_assignments_failed` while omitting `variant_options`; an assignment-only update that fails to sync returns 500 with error `variant_assignments_failed`. On success the response echoes the assigned option IDs as `variant_options`.

Example (partial_update):

```json
{
  "location": "United States (primary)",
  "type": "optional",
  "description_markdown": "Updated retention policy.",
  "featured": false
}
```

**Responses:**

- `200` - Updated subprocessor
  - `success` (boolean)
  - `data` (Subprocessor (Subprocessor))

  Example (updated):
  
  ```json
  {
  "success": true,
  "data": {
    "id": "vendor-123",
    "title": "Acme Cloud Hosting",
    "location": "United States (primary)",
    "type": "optional",
    "featured": false,
    "description": "Core infrastructure provider",
    "description_markdown": "Updated retention policy.",
    "badge": "https://directus.example.com/assets/vendor-badge",
    "template": "template-001",
    "date_created": "2025-03-01T10:05:00.000Z",
    "date_updated": "2025-05-01T14:22:00.000Z"
  }
}
  ```
- `400` - Validation error

  Example (variant_options_default_locale_only):
  
  ```json
  {
  "error": "variant_options_default_locale_only"
}
  ```

  Example (unknown_variant_options):
  
  ```json
  {
  "error": "unknown_variant_options"
}
  ```

  Example (disabled_locale):
  
  ```json
  {
  "error": "Locale is not enabled."
}
  ```
- `401` - Unauthorized
- `404` - Subprocessor not found
- `500` - Internal server error

**Code samples:**

cURL:

```bash
curl -X PATCH "https://app.orbiqhq.com/api/v1/subprocessors/vendor-123" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "location": "United States (primary)",
    "type": "optional",
    "description_markdown": "Updated retention policy",
    "featured": false
  }'
```

