> 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.8/api-integrations/link-manager-apis/xlsx.md).

# XLSX

## Upload Excel file to create relations in bulk

> Accepts a multipart/form-data file upload containing relations data, processes it asynchronously, and returns a task reference for tracking the upload status.

```json
{"openapi":"3.0.0","info":{"title":"td-lm","version":"Truedat 8.8.0"},"paths":{"/api/relations/links/upload":{"post":{"description":"Accepts a multipart/form-data file upload containing relations data, processes it asynchronously, and returns a task reference for tracking the upload status.","operationId":"TdLmWeb.XlsxController.upload","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/XlsxUploadRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XlsxUploadResponse"}}},"description":"Accepted"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdLmBadRequestMissingParamsResponse"}}},"description":"Bad Request"},"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":"Upload Excel file to create relations in bulk","tags":["XLSX"]}}},"components":{"schemas":{"XlsxUploadRequest":{"additionalProperties":false,"properties":{"relations":{"description":"Excel file (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet or application/octet-stream)","format":"binary","type":"string"},"source":{"description":"Source resource type (e.g., business_concept)","type":"string"},"target":{"description":"Target resource type (e.g., data_structure)","type":"string"}},"required":["source","target","relations"],"title":"XlsxUploadRequest","type":"object"},"XlsxUploadResponse":{"additionalProperties":false,"properties":{"file_hash":{"description":"MD5 hash of the uploaded file","type":"string"},"status":{"description":"Upload status (e.g., PENDING, EVENT_FAILED)","type":"string"},"task_reference":{"description":"Reference to the background job (e.g., oban:123)","type":"string"}},"required":["status","file_hash","task_reference"],"title":"XlsxUploadResponse","type":"object"},"TdLmBadRequestMissingParamsResponse":{"additionalProperties":false,"properties":{"error":{"description":"Error code (e.g., missing_params)","type":"string"}},"required":["error"],"title":"TdLmBadRequestMissingParamsResponse","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"}}}}
```
