---
title: "Store a new attachment."
method: POST
path: "/v1/attachments"
tags: ["attachments"]
---

# Store a new attachment.

`POST /v1/attachments`

## Request

- Base URL: `https://demo.firefly-iii.org/api`
- URL: `https://demo.firefly-iii.org/api/v1/attachments`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://demo.firefly-iii.org/oauth/authorize`
    - Token URL: `https://demo.firefly-iii.org/oauth/token`
  - HTTP bearer

Creates a new attachment. The data required can be submitted as a JSON body or as a list of parameters. You cannot use this endpoint to upload the actual file data (see below). This endpoint only creates the attachment object.

## Headers

- `X-Trace-Id` string, uuid

## Request body

- AttachmentStore
  - `filename` string, string, required
  - `attachable_type` 'Account' | 'Budget' | 'Bill' | 'TransactionJournal' | 'PiggyBank' | 'Tag', string, required: The object class to which the attachment must be linked.
  - `attachable_id` string, string, required: ID of the model this attachment is linked to.
  - `title` string, string
  - `notes` string, string, nullable

## Response `200`

New attachment stored, result in response.

- AttachmentSingle
  - `data` AttachmentRead, required
    - `type` string, string, required: Immutable value
    - `id` string, string, required
    - `attributes` AttachmentProperties, required
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `attachable_type` 'Account' | 'Budget' | 'Bill' | 'TransactionJournal' | 'PiggyBank' | 'Tag', string: The object class to which the attachment must be linked.
      - `attachable_id` string, string: ID of the model this attachment is linked to.
      - `hash` string, string: Hash of the file for basic duplicate detection.
      - `filename` string, string
      - `download_url` string, string
      - `upload_url` string, string
      - `title` string, string, nullable
      - `notes` string, string, nullable
      - `mime` string, string
      - `size` integer
    - `links` ObjectLink, required
      - `0` object
        - `rel` string, string
        - `uri` string, string
      - `self` string, uri

## Other responses

- `400`: Bad request
- `401`: Unauthenticated
- `404`: Page not found
- `422`: Validation error. The body will have the exact details.
- `500`: Internal exception

---

[API](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-3-0.md) - [All operations](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-3-0/llms.txt) - [OpenAPI document](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-3-0/revisions/ea05639f58ae?raw)
