---
title: "Upload a person's identity document"
method: POST
path: "/v1/persons/{relatedPersonId}/documents"
tags: ["Onboarding"]
---

# Upload a person's identity document

`POST /v1/persons/{relatedPersonId}/documents`

## Request

- Base URL: `https://api.sandbox.alfredpay.io`
- URL: `https://api.sandbox.alfredpay.io/v1/persons/{relatedPersonId}/documents`
- Auth: one of:
  - HTTP bearer
  - API key in header `api-key` and API key in header `api-secret`

Same limits and shape as the business upload. Needs the `relatedPersonId` returned by the KYB or KYC submission, so run that first.

## Headers

- `Idempotency-Key` string, uuid, required

## Request body `multipart/form-data`

- DocumentUpload
  - `file` string, binary, required: PDF, JPEG or PNG. 10 MB maximum.
  - `purposes` string[], required: What this file evidences, for example INCORPORATION, PROOF_OF_ADDRESS, SHAREHOLDER_REGISTRY, ID_FRONT, ID_BACK, SELFIE.
  - `documentType` string
  - `issuingCountry` 'MEX' | 'ARG' | 'BRA' | 'COL' | 'CHL' | 'PER' | 'DOM' | 'USA' | 'CHN' | 'HKG' | 'BOL' | 'PRY': ISO 3166-1 alpha-3, the only form Alfred stores, filters on, reports or emits. Compatibility rule for integrations that can only send alpha-2: any inbound `country` value in alpha-2 (path, query or body) is normalized to alpha-3 at the boundary before validation, storage or routing. Unrecognized in either form → `422 validation_error`.
  - `fileName` string
  - `description` string

## Response `201`

Uploaded

- Document
  - `id` string
  - `purposes` string[]
  - `documentType` string
  - `status` 'PENDING_VERIFICATION' | 'VERIFIED' | 'REJECTED'
  - `createdAt` string, date-time

## Other responses

- `404`: The resource does not exist, or belongs to another partner.
- `413`: `file_too_large`: the 10 MB per-file limit was exceeded.
- `415`: `unsupported_file_type`: only PDF, JPEG and PNG are accepted.

## Changes

- **2026-11-03** `20fef4fd2ab3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/changes/v1/persons/:relatedPersonId/documents/post.md)

---

[API](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation.md) - [All operations](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/revisions/20fef4fd2ab3?raw)
