---
title: "Upload attestations for an associated person"
method: PUT
path: "/api/compliance/{organizationId}/associated-persons/{associatedPersonId}/attestations"
tags: ["Associated Persons"]
---

# Upload attestations for an associated person

`PUT /api/compliance/{organizationId}/associated-persons/{associatedPersonId}/attestations`

## Request

- Base URL: `https://api.muralpay.com`
- URL: `https://api.muralpay.com/api/compliance/{organizationId}/associated-persons/{associatedPersonId}/attestations`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/muralpay/apis/mural-api/docs/api/compliance/:organizationId/associated-persons/:associatedPersonId/attestations/put.ts> (a function with typed inputs; its response is checked against the schema)

Upload one or more attestations for an associated person. Re-uploading a type replaces the previous value. Business-level attestations belong on the compliance review endpoint.

Residential address, identity document, proof of address, and proof of signatory authority are checked automatically and return a `pending` validation status until the check finishes; a residential address may be replaced with its standardized form. A review cannot be submitted while a check is `pending`, or `failed` with a `BLOCKING` failure. Re-upload to resolve a failure, or acknowledge `WARNING`-only failures when submitting.

## Path parameters

- `organizationId` string, uuid, required
- `associatedPersonId` string, uuid, required

## Request body

- UploadAssociatedPersonAttestationsRequest
  - `attestations` union[], required: Associated person attestations to upload. Each attestation type may appear at most once per request.
    - union
      - AssociatedPersonPersonalInfoAttestation
        - `type` 'associatedPersonPersonalInfo', required
        - `name` IndividualName, required: Individual Name
          - `firstName` string, required: Individual's First Name
          - `lastName` string, required: Individual's Last Name
          - `middleName` string: Individual's Middle Name
        - `birthDate` string, required: Associated person's date of birth (YYYY-MM-DD)
        - `nationality` string, required: Associated person's nationality (ISO 3166-1 alpha-2 country code)
        - `isPoliticallyExposed` boolean: Whether the associated person is a politically exposed person (PEP). When omitted, no PEP status is declared (treated as undisclosed, not `false`).
        - `jobTitle` string, required: Associated person's job title or role within the business (2-200 chars)
        - `ownershipPercentage` number, required: Ownership percentage of the underlying business held by this associated person.
      - AssociatedPersonContactInfoAttestation
        - `type` 'associatedPersonContactInfo', required
        - `email` string, required: Associated person's email address
        - `phoneNumber` string, required: Associated person's phone number, including country code (e.g. +14155551234)
      - AssociatedPersonResidentialAddressAttestation
        - `type` 'associatedPersonResidentialAddress', required
        - `address` PhysicalAddressVerification, required
          - `address1` string, required: Primary street address, including building number and street name
          - `address2` string: Secondary address line (apartment, suite, unit, floor, etc.)
          - `city` string, required: City or locality
          - `country` string, required: ISO 3166-1 alpha-2 country code
          - `postalCode` string, required: Postal code for the address. Inline payout recipients and counterparty responses name this field `zip`.
          - `subDivision` string, required: State or province. ISO 3166-2 subdivision code (minus the country prefix) for the state. Inline payout recipients and counterparty responses name this field `state`.
      - AssociatedPersonTaxInfoAttestation
        - `type` 'associatedPersonTaxInfo', required
        - `taxIdentificationNumber` string, required: Tax identification number.
        - `taxIdentificationNumberType` 'SSN' | 'ITIN' | 'CPF' | 'CURP' | 'CUIL' | 'NINO' | 'INE' | 'RFC' | 'NIF' | 'STEUER_ID' | 'TCKN' | 'TIN' | 'PAN' | 'ADOAZ' | 'AHV' | 'AOM' | 'BSN' | 'BVN' | 'CDI' | 'CNP' | 'CPR' | 'EGN' | 'EMIRATES_ID' | 'EMSO' | 'FIN' | 'FN' | 'FODSELSNR' | 'HETU' | 'HKID' | 'IDNP' | 'IIN' | 'IK' | 'ITR' | 'JMBG' | 'MN' | 'NIN' | 'NRIC' | 'NRN' | 'PERSONNUMMER' | 'PESEL' | 'PIN' | 'PINFL' | 'PPSN' | 'RICN' | 'RNOKPP' | 'RODNE_CISLO' | 'RP' | 'RRN' | 'SI' | 'SIN' | 'SPI' | 'TFN' | 'UCN' | 'UTR' | 'BIR' | 'BIN' | 'BP' | 'CF' | 'CN' | 'CRIB' | 'CUI' | 'CUIT' | 'ID' | 'ID_BROJ' | 'IDNO' | 'IF' | 'INN' | 'IRD' | 'MATRICULE' | 'MST' | 'NIT' | 'NPWP' | 'NRT' | 'NTN' | 'OIB' | 'PIB' | 'RC' | 'RIF' | 'RN' | 'RTN' | 'RUC' | 'RUT' | 'TRN' | 'UNP' | 'USC' | 'VAT' | 'VOEN', required: Type of tax identification number
      - AssociatedPersonIdentityDocumentAttestation
        - `type` 'associatedPersonIdentityDocument', required
        - `governmentId` union, required: Government ID document.
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `passportDocumentId` string, uuid, required: File ID (UUID) of the passport document, from the document upload endpoint.
            - `passportNumber` string, required: Passport number
            - `type` 'passport', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `driverLicenseBackDocumentId` string, uuid, required: File ID (UUID) of the back of the driver license, from the document upload endpoint.
            - `driverLicenseFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the driver license, from the document upload endpoint.
            - `driverLicenseNumber` string, required: Driver's license number
            - `type` 'driverLicense', required
          - object
            - `cnhBackDocumentId` string, uuid: File ID (UUID) of the CNH back. Optional — a CNH may be a single combined image.
            - `cnhFrontDocumentId` string, uuid, required: File ID (UUID) of the CNH front, from the document upload endpoint.
            - `cnhNumber` string, required: CNH registration number
            - `type` 'cnh', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `nationalIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the national ID, from the document upload endpoint.
            - `nationalIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the national ID, from the document upload endpoint.
            - `nationalIdNumber` string, required: National ID number
            - `type` 'nationalId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `stateIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the state ID, from the document upload endpoint.
            - `stateIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the state ID, from the document upload endpoint.
            - `stateIdNumber` string, required: State ID number
            - `type` 'stateId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `passportCardBackDocumentId` string, uuid, required: File ID (UUID) of the back of the passport card, from the document upload endpoint.
            - `passportCardFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the passport card, from the document upload endpoint.
            - `passportCardNumber` string, required: Passport card number
            - `type` 'passportCard', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `permanentResidenceCardBackDocumentId` string, uuid, required: File ID (UUID) of the back of the permanent residence card, from the document upload endpoint.
            - `permanentResidenceCardFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the permanent residence card, from the document upload endpoint.
            - `permanentResidenceCardNumber` string, required: Permanent residence card number
            - `type` 'permanentResidenceCard', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'visa', required
            - `visaBackDocumentId` string, uuid, required: File ID (UUID) of the back of the visa, from the document upload endpoint.
            - `visaFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the visa, from the document upload endpoint.
            - `visaNumber` string, required: Visa number
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `residencePermitBackDocumentId` string, uuid, required: File ID (UUID) of the back of the residence permit, from the document upload endpoint.
            - `residencePermitFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the residence permit, from the document upload endpoint.
            - `residencePermitNumber` string, required: Residence permit number
            - `type` 'residencePermit', required
          - object
            - `citizenshipCertificateDocumentId` string, uuid, required: File ID (UUID) of the citizenship certificate document, from the document upload endpoint.
            - `citizenshipCertificateNumber` string, required: Citizenship certificate number
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'citizenshipCertificate', required
          - object
            - `consularIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the consular ID, from the document upload endpoint.
            - `consularIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the consular ID, from the document upload endpoint.
            - `consularIdNumber` string, required: Consular ID number
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'consularId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `foreignIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the foreign ID, from the document upload endpoint.
            - `foreignIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the foreign ID, from the document upload endpoint.
            - `foreignIdNumber` string, required: Foreign ID number
            - `type` 'foreignId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `healthInsuranceCardBackDocumentId` string, uuid, required: File ID (UUID) of the back of the health insurance card, from the document upload endpoint.
            - `healthInsuranceCardFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the health insurance card, from the document upload endpoint.
            - `healthInsuranceCardNumber` string, required: Health insurance card number
            - `type` 'healthInsuranceCard', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `internalPassportDocumentId` string, uuid, required: File ID (UUID) of the internal passport document, from the document upload endpoint.
            - `internalPassportNumber` string, required: Internal passport number
            - `type` 'internalPassport', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `keypassIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the Keypass ID, from the document upload endpoint.
            - `keypassIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the Keypass ID, from the document upload endpoint.
            - `keypassIdNumber` string, required: Keypass ID number
            - `type` 'keypassId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `longTermPassBackDocumentId` string, uuid, required: File ID (UUID) of the back of the long-term pass, from the document upload endpoint.
            - `longTermPassFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the long-term pass, from the document upload endpoint.
            - `longTermPassNumber` string, required: Long-term pass number
            - `type` 'longTermPass', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `municipalIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the municipal ID, from the document upload endpoint.
            - `municipalIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the municipal ID, from the document upload endpoint.
            - `municipalIdNumber` string, required: Municipal ID number
            - `type` 'municipalId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `myNumberCardBackDocumentId` string, uuid, required: File ID (UUID) of the back of the My Number card, from the document upload endpoint.
            - `myNumberCardFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the My Number card, from the document upload endpoint.
            - `myNumberCardNumber` string, required: My Number card number (individual number)
            - `type` 'myNumberCard', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `nbiClearanceDocumentId` string, uuid, required: File ID (UUID) of the NBI clearance document, from the document upload endpoint.
            - `nbiClearanceNumber` string, required: NBI clearance reference number
            - `type` 'nbiClearance', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `ofwIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the OFW ID, from the document upload endpoint.
            - `ofwIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the OFW ID, from the document upload endpoint.
            - `ofwIdNumber` string, required: OFW ID number
            - `type` 'ofwId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `panCardDocumentId` string, uuid, required: File ID (UUID) of the PAN card document, from the document upload endpoint.
            - `panCardNumber` string, required: PAN card number
            - `type` 'panCard', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `postalIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the postal ID, from the document upload endpoint.
            - `postalIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the postal ID, from the document upload endpoint.
            - `postalIdNumber` string, required: Postal ID number
            - `type` 'postalId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `sssIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the SSS ID, from the document upload endpoint.
            - `sssIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the SSS ID, from the document upload endpoint.
            - `sssIdNumber` string, required: SSS ID number
            - `type` 'sssId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `travelDocumentDocumentId` string, uuid, required: File ID (UUID) of the travel document, from the document upload endpoint.
            - `travelDocumentNumber` string, required: Travel document number
            - `type` 'travelDocument', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `tribalIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the tribal ID, from the document upload endpoint.
            - `tribalIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the tribal ID, from the document upload endpoint.
            - `tribalIdNumber` string, required: Tribal ID enrollment number
            - `type` 'tribalId', required
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'umid', required
            - `umidBackDocumentId` string, uuid, required: File ID (UUID) of the back of the UMID, from the document upload endpoint.
            - `umidFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the UMID, from the document upload endpoint.
            - `umidNumber` string, required: UMID number (Common Reference Number)
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'voterId', required
            - `voterIdBackDocumentId` string, uuid, required: File ID (UUID) of the back of the voter ID, from the document upload endpoint.
            - `voterIdFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the voter ID, from the document upload endpoint.
            - `voterIdNumber` string, required: Voter ID number
          - object
            - `countryCode` string, required: ISO 3166-1 alpha-2 country code of the government authority that issued this document.
            - `type` 'workPermit', required
            - `workPermitBackDocumentId` string, uuid, required: File ID (UUID) of the back of the work permit, from the document upload endpoint.
            - `workPermitFrontDocumentId` string, uuid, required: File ID (UUID) of the front of the work permit, from the document upload endpoint.
            - `workPermitNumber` string, required: Work permit number
      - AssociatedPersonProofOfAddressAttestation
        - `type` 'associatedPersonProofOfAddress', required
        - `proofOfAddressDocuments` ProofOfAddressDocumentReference[], required: List of proof-of-address documents
          - `documentType` 'BANK_STATEMENT' | 'GOVERNMENT_ISSUED_LETTER' | 'UTILITY_BILL', required: The type of proof-of-address document
          - `documentId` string, uuid, required: File ID (UUID) returned by the compliance document upload endpoint.
      - AssociatedPersonEEAInfoAttestation
        - `type` 'associatedPersonEeaInfo', required
        - `isDirector` boolean, required: Whether the associated person is a director of the business. Non-director authorized signers must provide proof of signatory authority.
        - `placeOfBirthCountry` string, required: Country of birth (ISO 3166-1 alpha-2 country code).
        - `placeOfBirthCity` string, required: City of birth.
      - AssociatedPersonProofOfSignatoryAuthorityAttestation
        - `type` 'associatedPersonProofOfSignatoryAuthority', required
        - `signatoryAuthorityDocuments` SignatoryAuthorityDocumentReference[], required: List of proof-of-signatory-authority documents
          - `documentType` 'LETTER_OF_AUTHORITY' | 'BOARD_RESOLUTION' | 'POWER_OF_ATTORNEY', required: The type of signatory-authority document
          - `documentId` string, uuid, required: File ID (UUID) returned by the compliance document upload endpoint.

## Response `200`

Associated person attestations uploaded successfully.

- UploadAssociatedPersonAttestationsResponse
  - `attestations` AssociatedPersonAttestationResponse[], required: The associated person attestations that were uploaded.
    - `attestationType` 'associatedPersonPersonalInfo' | 'associatedPersonContactInfo' | 'associatedPersonResidentialAddress' | 'associatedPersonTaxInfo' | 'associatedPersonIdentityDocument' | 'associatedPersonProofOfAddress' | 'associatedPersonEeaInfo' | 'associatedPersonProofOfSignatoryAuthority', required: Which associated person attestation was stored.
    - `createdAt` string, required: ISO 8601 timestamp when the attestation was stored.
    - `id` string, uuid, required: Unique attestation ID
    - `validationStatus` union, required: Validations lifecycle state for this attestation.
      - AttestationValidationStatusPending: Validations in progress.
        - `type` 'pending', required
      - AttestationValidationStatusApproved: Attestation passed validations.
        - `type` 'approved', required
      - AttestationValidationStatusFailed: Attestation failed validations.
        - `failures` AttestationValidationFailure[], required: Information about the failed validations for this attestation. Ordered most-actionable first, so the first entry is the one to act on. A generic failure appears only when no specific one applies.
          - `failureInfo` union, required: The failure detail, discriminated on `type`. Each variant documents the condition that caused it and how to resolve it.
            - AddressNotFoundFailureInfo: The address in the failure’s `field` could not be verified, and no standardized form was found — either no matching postal record exists, or the match was not precise enough to confirm the address as entered. Re-upload the attestation with a corrected address to resolve, or acknowledge the warning at submit-time. `description` gives the specific reason.
              - …
            - AddressSuggestedCorrectionFailureInfo: The address in the failure’s `field` could not be verified exactly as entered, but a standardized form was found. Re-upload the attestation with `suggestedAddress` to resolve, or acknowledge the warning at submit-time.
              - …
            - GeneralFailureInfo: A validation failure with no structured detail beyond its code.
              - …
            - GovernmentIdFailureInfo: A government-ID document failed automated validation.
              - …
            - ProofOfAddressFailureInfo: A proof of address failed automated validation.
              - …
            - SourceOfFundsFailureInfo: A source of funds document failed automated validation.
              - …
            - FormationDocumentsFailureInfo: A formation document failed automated validation.
              - …
            - UboOwnershipFailureInfo: An ownership document failed automated validation.
              - …
            - FlowOfFundsFailureInfo: A flow of funds document failed automated validation.
              - …
            - ProofOfSignatoryAuthorityFailureInfo: A proof of signatory authority document failed automated validation.
              - …
            - SupplementalDocumentFailureInfo: A document uploaded for a supplemental document request failed validation.
              - …
          - `field` 'address' | 'residentialAddress' | 'registeredAddress' | 'operatingAddress': The field within the attestation payload this failure applies to. Present when the failure is attributable to a specific field.
          - `severity` 'BLOCKING' | 'WARNING', required: `BLOCKING` must be addressed before submit can succeed; `WARNING` can be resolved by acknowledging warnings at submit-time.
        - `type` 'failed', required

## Other responses

- `401`: Unauthorized
- `403`: SignedAgreementRequiredException
- `429`: RateLimitExceededError

## Changes

- **2026-11-03** `65aadbefe527`: 1 breaking, 1 warning, 3 info
  - removed the required property `attestations/items/validationStatus/oneOf[subschema #3: Failed]/failures/items/failureCode` from the response with the `200` status
  - added the new `SignedAgreementRequiredException` enum value to the `name` response property for the response status `403`
  - added the non-success response with the status `429`
  - added the optional property `attestations/items/validationStatus/oneOf[subschema #3: Failed]/failures/items/field` to the response with the `200` status
  - …1 more

[Operation history](https://skmtc.dev/muralpay/apis/mural-api/changes/api/compliance/:organizationId/associated-persons/:associatedPersonId/attestations/put.md)

---

[API](https://skmtc.dev/muralpay/apis/mural-api.md) - [All operations](https://skmtc.dev/muralpay/apis/mural-api/llms.txt) - [OpenAPI document](https://skmtc.dev/muralpay/apis/mural-api/revisions/65aadbefe527?raw)
