---
title: "Confirm Document Upload"
method: POST
path: "/partner/applications/{app_id}/documents/confirm"
tags: ["Partner Onboarding"]
---

# Confirm Document Upload

`POST /partner/applications/{app_id}/documents/confirm`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/partner/applications/{app_id}/documents/confirm`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/partner/applications/:app_id/documents/confirm/post.ts> (a function with typed inputs; its response is checked against the schema)

Confirm that a KYB document was uploaded successfully.

## Path parameters

- `app_id` string, required: The onboarding application, as returned when it was created.

## Request body

- PartnerDocumentConfirmRequest
  - `object_key` string, required: Object key returned from the upload-url endpoint.
  - `proof_type` 'accredited' | 'address' | 'articles_of_organization' | 'bank_statement' | 'client_contract' | 'client_invoice' | 'beneficial_owner_address' | 'beneficial_owner_id' | 'beneficial_owner_id_back' | 'beneficial_ownership_register' | 'bylaws' | 'certificate_of_good_standing' | 'corporate_resolution' | 'drivers_license' | 'due_diligence' | 'ein' | 'final_edd_report' | 'periodic_review_report' | 'government_issued_business_license' | 'hemp_cultivator_state_license' | 'incorporation' | 'industry_related_license' | 'lease_agreement' | 'llc_resolution' | 'money_service_business_license' | 'money_transmitter_registration' | 'mortgage_statement' | 'national_id' | 'org_chart' | 'partnership_agreement' | 'partnership_agreement_due_diligence' | 'partnership_resolution' | 'personal_address' | 'remote_employees_due_diligence' | 'signed_ss4' | 'tax_exemption_certificate' | 'uk_officer_passport' | 'officer_registry' | 'uk_registry' | 'shareholder_registry' | 'uk_w8_en' | 'utility_bill' | 'us_based_office_proof_of_address_due_diligence' | 'pitch_deck' | 'active_business_registration' | 'proof_of_ownership_or_banking_authorization' | 'non_profit_bylaws' | 'operating_agreement' | 'flow_of_funds' | 'aml_sanction' | 'registration_or_license' | 'sec_filing' | 'legal_opinion' | 'certificate_of_formation_master_llc' | 'series_operating_agreement' | 'share_subscription_agreement' | 'fund_subscription_agreement' | 'safe_agreement' | 'convertible_note_agreement' | 'loan_promissory_note' | 'token_purchase_agreement' | 'saft_agreement' | 'deal_memo_hybrid_agreement' | 'issuer_due_diligence_report' | 'protocol_ecosystem_questionnaire' | 'investment_company_due_diligence_form' | 'us_based_operations_due_diligence_form' | 'register_of_directors' | 'articles_of_association' | 'memorandum_of_association' | 'non_profit_status' | 'ofac_sanctions_screening_policy' | 'aml_kyc_policy' | 'w8_bene' | 'corporate_structure_chart' | 'custody_safeguarding_agreement' | 'reserve_attestation' | 'sanctions_vendor_service_agreement' | 'contractual_fund_flow_agreements', required

## Response `200`

Successful Response

- PartnerDocumentConfirmResponse
  - `confirmed` boolean, required: Whether the document was successfully confirmed.
  - `file_name` string, required: Confirmed file name.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation.
- `429`: Too many requests.

---

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