Tasks

Upload a task attachment

Upload a file to a task as multipart/form-data (file), up to 10 MB; the type is checked by content, not extension.

  • target places it in a new comment (default) or the description; note (max 1,000 characters) is the comment text.
  • Counts towards the plan storage quota (402 storage_quota_exceeded). Requires an Idempotency-Key.
post/companies/{company}/tasks/{task}/attachments

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/tasks/{task}/attachments
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

taskstring uuid required

Public identifier (UUID v7) of the task.

Headers

Idempotency-Keystring required
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide. Required on this operation: repeating it delivers an effect that cannot be taken back (an email sent, a file generated, a third-party call, a charge), so a request without this header is rejected with 422 idempotency_key_required before any business logic runs.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Response

Example response

{
  "data": {
    "id": "0193a4f2-efb9-7daa-8e4b-3a5b7c9d1f01",
    "object": "task_attachment",
    "task_id": "0193a4f2-8f53-7d44-8e85-7a9b1c3d5f12",
    "surface": "description",
    "file_name": "captura-checkout.png",
    "mime_type": "image/png",
    "size_bytes": 284512,
    "kind": "image",
    "uploaded_by_id": "0193a4f2-6b1c-7d3e-8a41-2c5e7f9a1b01",
    "created_at": "2026-09-22T11:08:36+02:00"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.