> For the complete documentation index, see [llms.txt](https://docs.truedat.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.truedat.io/v8.12/api-integrations/link-manager-apis/bulk-updates.md).

# Bulk Updates

## Bulk update status of relations

> Updates the status of multiple relations in a single request, enabling batch state changes such as approving or rejecting many relations at once.\
> \
> Requires the \*\*'Manage business concept links'\*\* permission. The check is global: the caller must hold the permission in at least one domain. Administrators are always allowed; service accounts are not granted a bypass and must hold the permission as well.\
> \
> \*\*Request body:\*\*\
> \- \`relation\_ids\` (required, array of integers) – IDs of the relations to update.\
> \- \`status\` (required, string) – Target status. Only \`"approved"\` and \`"rejected"\` are accepted.\
> \
> The response includes a per-relation summary of successes and failures. The operation is not transactional across relations; each is updated independently and its outcome is reported individually.\
> \
> Relations in a state that does not allow a status transition are reported as errors in the response.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-lm","version":"Truedat 8.11.1"},"paths":{"/api/relations/status":{"post":{"description":"Updates the status of multiple relations in a single request, enabling batch state changes such as approving or rejecting many relations at once.\n\nRequires the **'Manage business concept links'** permission. The check is global: the caller must hold the permission in at least one domain. Administrators are always allowed; service accounts are not granted a bypass and must hold the permission as well.\n\n**Request body:**\n- `relation_ids` (required, array of integers) – IDs of the relations to update.\n- `status` (required, string) – Target status. Only `\"approved\"` and `\"rejected\"` are accepted.\n\nThe response includes a per-relation summary of successes and failures. The operation is not transactional across relations; each is updated independently and its outcome is reported individually.\n\nRelations in a state that does not allow a status transition are reported as errors in the response.\n","operationId":"TdLmWeb.BulkUpdateStatusController.update","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateStatusRequest"}}},"description":"Update parameters","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateStatusResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdLmUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdLmForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdLmInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Bulk update status of relations","tags":["Bulk Updates"]}}},"components":{"schemas":{"BulkUpdateStatusRequest":{"additionalProperties":false,"description":"Request to update status of multiple relations. Only two status changes are supported: `approved` and `rejected`.","properties":{"relation_ids":{"description":"List of relation IDs","items":{"type":"integer"},"type":"array"},"status":{"description":"New status to apply (only 'approved' or 'rejected')","enum":["approved","rejected"],"type":"string"}},"required":["relation_ids","status"],"title":"BulkUpdateStatusRequest","type":"object"},"BulkUpdateStatusResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":{"$ref":"#/components/schemas/ErrorDetail"},"description":"Errors grouped by reason","type":"object"},"relations":{"description":"List of successfully updated relations","items":{"$ref":"#/components/schemas/RelationSuccessResult"},"type":"array"}},"required":["relations","errors"],"type":"object"}},"required":["data"],"title":"BulkUpdateStatusResponse","type":"object"},"ErrorDetail":{"additionalProperties":false,"description":"Details of errors for a specific reason","properties":{"message":{"description":"Error message","type":"string"},"reason":{"description":"Error reason code","type":"string"},"relations":{"description":"List of relations that failed with this error","items":{"$ref":"#/components/schemas/RelationErrorResult"},"type":"array"}},"required":["message","reason","relations"],"title":"ErrorDetail","type":"object"},"RelationErrorResult":{"additionalProperties":false,"description":"Relation details for error responses (status omitted)","properties":{"id":{"type":"integer"},"source_id":{"type":"integer"},"source_name":{"type":"string"},"source_type":{"type":"string"},"tag_type":{"nullable":true,"type":"string"},"target_id":{"type":"integer"},"target_name":{"type":"string"},"target_type":{"type":"string"}},"required":["id","source_id","source_type","source_name","target_id","target_type","target_name"],"title":"RelationErrorResult","type":"object"},"RelationSuccessResult":{"additionalProperties":false,"description":"Relation details for successful updates (includes status)","properties":{"id":{"description":"Relation ID","type":"integer"},"source_id":{"description":"Source resource ID","type":"integer"},"source_name":{"description":"Source resource name","type":"string"},"source_type":{"description":"Source resource type","type":"string"},"status":{"description":"Updated status","type":"string"},"tag_type":{"description":"Tag type if present","nullable":true,"type":"string"},"target_id":{"description":"Target resource ID","type":"integer"},"target_name":{"description":"Target resource name","type":"string"},"target_type":{"description":"Target resource type","type":"string"}},"required":["id","source_id","source_type","source_name","target_id","target_type","target_name","status"],"title":"RelationSuccessResult","type":"object"},"TdLmUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdLmUnauthorizedResponse","type":"object"},"TdLmForbiddenResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdLmForbiddenResponse","type":"object"},"TdLmInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdLmInternalServerErrorResponse","type":"object"}}}}
```
