---
title: "Attach a new supporting document to a facility"
method: POST
path: "/facilities/{id}/supporting-documents"
tags: ["Facility"]
---

# Attach a new supporting document to a facility

`POST /facilities/{id}/supporting-documents`

Uploads and attaches a new supporting document to the specified facility. Use this to add a document for the first time; to update or remove an existing document, use PUT /facilities/{id}/supporting-documents instead (see that endpoint's description for its full-array-replace semantics). The file is uploaded as multipart/form-data and its bytes are read directly into GCS by this service — there is no pre-signed-URL pattern. There is no MIME-type allowlist; size is bounded only by the service's global request-body limits (currently 500MB body / 250MB per form attribute), not by a document-specific limit. fileType is a free-form optional string with no enforced enum or whitelist — callers may send any value. Returns HTTP 201 with only a message and the stored fileName — no document ID or file URL is returned by this endpoint.

## Path parameters

- `id` string, required

## Headers

- `tenant-id` string

## Response `201`

Supporting document created successfully

- SupportingDocumentResponse — Response for facility supporting document operations
  - `message` string — Success message
  - `fileName` string — Name of the uploaded file

## Other responses

- `400` — Bad request - Invalid input, e.g., file is missing
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `500` — Internal server error

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
