---
title: "Upload attachment to processing account"
method: POST
path: "/processing-accounts/{processingAccountId}/attachments"
tags: ["attachments"]
---

# Upload attachment to processing account

`POST /processing-accounts/{processingAccountId}/attachments`

> Before you upload an attachment, make sure that you follow local privacy regulations and get the merchant's consent to process their information.  

**Note:** You need the ID of the processing account before you can upload an attachment. If you don't know the processingAccountId, go to the [Retrieve a Merchant Platform](https://docs.payroc.com/api/schema/boarding/merchant-platforms/retrieve) method.  

The attachment must be an uncompressed file under 50MB in one of the following formats:
- .bmp, csv, .doc, .docx, .gif, .htm, .html, .jpg, .jpeg, .msg, .pdf, .png, .ppt, .pptx, .tif, .tiff, .txt, .xls, .xlsx  

In the request, include the attachment that you want to upload and the following information about the attachment:
- **type** - Type of attachment that you want to upload.
- **description** - Short description of the attachment.  

In the response, our gateway returns information about the attachment including its upload status and an attachmentId that you can use to [Retrieve the details of the Attachment](https://docs.payroc.com/api/schema/attachments/retrieve).

## Path parameters

- `processingAccountId` string, required

## Headers

- `Authorization` string, required
- `Idempotency-Key` string, uuid, required

## Response `201`

Successful request. We received the attachment.

- Attachment
  - `attachmentId` string, required — Unique identifier that our gateway assigned to the attachment.
  - `type` 'bankingEvidence' | 'questionnairesAndLicenses' | 'merchantStatements' | 'taxDocuments' | 'mpaOrAmendment' | 'proofOfBusiness' | 'financialStatements' | 'personalIdentification' | 'other', required — Type of attachment.
  - `uploadStatus` 'pending' | 'accepted' | 'rejected', required — Upload status of the attachment. The value is one of the following: - `pending` - We have not yet uploaded the attachment. - `accepted` - We have uploaded the attachment. - `rejected` - We rejected the attachment.
  - `fileName` string, required — Name of the file.
  - `contentType` string, required — Content type of the file.
  - `description` string — Short description of the attachment.
  - `entity` AttachmentEntity, required — Object that contains information about the entity that the attachment is linked to.
    - `type` 'processingAccount', required — Type of entity that the attachment is linked to.
    - `id` string, required — Unique identifier of the entity that the attachment is linked to.
  - `createdDate` string, date-time, required — Date and time that we received your request to upload the attachment.
  - `lastModifiedDate` string, date-time, required — Date and time the attachment was last modified.
  - `metadata` object — Object that you can send to include custom metadata in the request.

## Other responses

- `400` — Validation error
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `409` — Conflict
- `413` — Payload too large
- `415` — Unsupported media type
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
