agency-board
POST /v1/agency/boards/{boardId}/cards/{cardId}/attachments
Attach a file to a card.
Authentifizierung
Senden Sie einen API-Schlüssel als Bearer-Token. Dieser Endpunkt gibt in der Spezifikation keine spezifische Berechtigung an. Versehen Sie Ihren Schlüssel daher mit den minimal erforderlichen Rechten und prüfen Sie die Antwort, anstatt Annahmen zu treffen.
Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.
Ausprobieren
Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.
curl -X POST https://api.zinndigital.com/v1/agency/boards/{boardId}/cards/{cardId}/attachments \
-H "Authorization: Bearer zdk_live_…"Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole
Details
⚖️ 25 MB per file and 2 GB per organisation, owner-ruled 2026-09-03. The organisation quota is counted across every board it owns, because a per-board cap is escaped by making another board. ⛔⛔ A stored file is `pending` and **not downloadable by anybody, including the agency's own staff**, until a malware scan has passed it. A client's upload is the best phishing route into an agency there is, and the person opening it has production access to that client's sites. `pending`, `infected` and `error` all refuse — an unscannable file is not a clean file. Accepted types are PNG, JPEG, GIF, WebP, PDF, plain text and CSV, each validated by its magic bytes rather than by the declared content type. No archives (a way to smuggle every format not on the list), no Office documents (macros), no SVG (a script container browsers execute).
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
boardId (path) | Uuid | Ja | Project board ID (UUIDv7). |
cardId (path) | Uuid | Ja | Board card ID (UUIDv7). |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
card_id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
filename | string | Ja | — |
content_type | string | Nein | — |
size_bytes | integer | Ja | — |
visibility | AgencyBoardVisibility | Nein | Who may see this object. `internal` is always the default. A **card** reaches the client only when it is `client` **and its column is too** — an AND, not inheritance, because th… |
scan_state | AgencyBoardAttachmentScanState | Ja | Where an uploaded file is in the malware pipeline. ⛔ `clean` is the ONLY state the bytes are ever served in — `pending`, `infected` and `error` all refuse, including to the agen… |
downloadable | boolean | Ja | ⭐ Whether these bytes may be fetched right now. Computed from the scan state by the engine rather than derived by a caller — two copies of "may this leave the building" is how t… |
uploaded_by | AgencyBoardActor | Nein | — |
created_at | string | Nein | — |
Fehler, die dieser Endpunkt zurückgeben kann
401 · 403 · 404 · 422