---
title: "Hand in a deliverable"
method: POST
path: "/v1/tasks/{taskId}/deliverables"
tags: ["tasks"]
---

# Hand in a deliverable

`POST /v1/tasks/{taskId}/deliverables`

## Request

- Base URL: `https://api.flowral.app`
- URL: `https://api.flowral.app/v1/tasks/{taskId}/deliverables`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (client credentials, token URL `https://api.flowral.app/v1/oauth/token`, scopes: `work:write`)

Satisfies a file requirement on the task, which is what lets it complete. Different from an attachment: this one is the thing being asked for.

## Path parameters

- `taskId` string, required

## Response `201`

CREATED

- Attachment
  - `id` string, required
  - `name` string, required
  - `mimeType` string
  - `sizeBytes` integer
  - `kind` 'reference' | 'deliverable', required
  - `uploadedAt` string, date-time

## Other responses

- `400`: MISSING_FILE · FILE_TOO_LARGE
- `401`: UNAUTHORIZED
- `403`: FORBIDDEN · PLAN_REQUIRED · INSUFFICIENT_SCOPE
- `404`: NOT_FOUND · REQUIREMENT_NOT_FOUND
- `429`: RATE_LIMITED

---

[API](https://skmtc.dev/flowral/apis/flowral-api.md) · [All operations](https://skmtc.dev/flowral/apis/flowral-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flowral/apis/flowral-api/revisions/6cd2337b682c?raw)
