Meow Partner Onboarding API

Onboard entities using your partner API key.

OpenAPI Specification

meow-partner-onboarding-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Meow Accounts Partner Onboarding API
  description: '## Overview


    The Meow API provides financial services and billing capabilities for your business.


    ### Core Features


    - **Financial data access**: access account information, transactions, balances, and payment networks.

    - **Crypto operations**: create and manage crypto contacts, and initiate USDC transfers across blockchain networks.


    ### Billing API


    The Billing API lets you create and manage invoices and collect payments:


    - **Product management**: create and manage products with custom pricing.

    - **Customer management**: maintain invoicing customers with their addresses.

    - **Invoice creation**: generate invoices with line items, discounts, and custom notes.

    - **Payment options**: accept payments via ACH, wire, international wire, card, and USDC.

    - **Collection accounts**: configure accounts for payment collection.


    ### Getting Started


    Authenticate by sending your API key in the `x-api-key` request header.


    To scope requests to a specific entity, include the `x-entity-id` header. Use the `/api-keys/accessible-entities` endpoint to list all entities accessible by your API key.


    ### Error Responses


    Errors return JSON with `code`, `message`, and `debug_message`. The `code` aligns with FDX where possible; use `debug_message` for troubleshooting only.


    Common error codes:


    - `500`: Internal server error

    - `501`: Subsystem unavailable

    - `503`: Scheduled maintenance

    - `601`: Data not found

    - `602`: Customer not authorized

    - `701`: Account not found

    - `703`: Invalid input (including invalid date ranges)

    - `704`: Account type not supported

    - `705`: Account is closed

    - `801`: Transaction not found

    '
  contact:
    name: Meow
    url: https://meow.com/
    email: support@meow.com
  version: 1.0.0
  license:
    name: Proprietary
    url: https://www.meow.com/terms-of-service
servers:
- url: https://api.meow.com/v1
  description: Meow API Production
- url: https://api.sandbox.meow.com/v1
  description: Meow API Sandbox
security:
- apiKeyAuth: []
tags:
- name: Partner Onboarding
  description: Onboard entities using your partner API key.
paths:
  /partner/applications:
    post:
      tags:
      - Partner Onboarding
      summary: Create Application
      description: Create a new onboarding application with business details. The applicant receives an invitation email to set their password and complete onboarding.
      operationId: create_application_partner_applications_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerCreateApplicationRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerApplicationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:write
    get:
      tags:
      - Partner Onboarding
      summary: List Applications
      description: List all applications you have created.
      operationId: list_applications_partner_applications_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Maximum number of results to return.
          default: 50
          title: Limit
        description: Maximum number of results to return.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of results to skip.
          default: 0
          title: Offset
        description: Number of results to skip.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerApplicationListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:read
  /partner/applications/{app_id}:
    get:
      tags:
      - Partner Onboarding
      summary: Get Application Status
      description: Get the onboarding status of an application, including uploaded documents and the applicant's KYC status.
      operationId: get_application_partner_applications__app_id__get
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          title: App Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerApplicationStatusResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:read
  /partner/applications/{app_id}/documents/upload-url:
    post:
      tags:
      - Partner Onboarding
      summary: Get Document Upload URL
      description: Get a pre-signed URL to upload a KYB document. Use HTTP PUT to upload the file to the returned URL, then confirm it.
      operationId: get_upload_url_partner_applications__app_id__documents_upload_url_post
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          title: App Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerDocumentUploadRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerDocumentUploadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:write
  /partner/applications/{app_id}/documents/confirm:
    post:
      tags:
      - Partner Onboarding
      summary: Confirm Document Upload
      description: Confirm that a KYB document was uploaded successfully.
      operationId: confirm_document_partner_applications__app_id__documents_confirm_post
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          title: App Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerDocumentConfirmRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerDocumentConfirmResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:write
  /partner/applications/{app_id}/kyc:
    post:
      tags:
      - Partner Onboarding
      summary: Submit KYC Data
      description: 'Submit identity (KYC) data you have already collected for the applicant, with their consent. Verification runs server-side; the applicant does not need to complete a verification link. The result is usually available asynchronously: poll the application status endpoint for the final `kyc_status`, or subscribe to the `identity_verification.*` webhook events. Repeat submissions while a verification is in progress are idempotent and return the current status without re-sending data; corrected data is applied on a new submission after the current attempt completes or fails.'
      operationId: submit_kyc_partner_applications__app_id__kyc_post
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          title: App Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerKycSubmissionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerKycSubmissionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - partner:onboarding:write
components:
  schemas:
    DateString:
      type: string
      format: date
      title: DateString
      description: ISO 8601 full-date in the format `YYYY-MM-DD` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    OnboardingKycStatus:
      type: string
      enum:
      - not_started
      - pending
      - action_required
      - approved
      - rejected
      title: OnboardingKycStatus
      x-enum-varnames:
      - not_started
      - pending
      - action_required
      - approved
      - rejected
    CountryCodeAlpha2:
      type: string
      enum:
      - AW
      - AF
      - AO
      - AI
      - AX
      - AL
      - AD
      - AE
      - AR
      - AM
      - AS
      - AQ
      - TF
      - AG
      - AU
      - AT
      - AZ
      - BI
      - BE
      - BJ
      - BQ
      - BF
      - BD
      - BG
      - BH
      - BS
      - BA
      - BL
      - BY
      - BZ
      - BM
      - BO
      - BR
      - BB
      - BN
      - BT
      - BV
      - BW
      - CF
      - CA
      - CC
      - CH
      - CL
      - CN
      - CI
      - CM
      - CD
      - CG
      - CK
      - CO
      - KM
      - CV
      - CR
      - CU
      - CW
      - CX
      - KY
      - CY
      - CZ
      - DE
      - DJ
      - DM
      - DK
      - DO
      - DZ
      - EC
      - EG
      - ER
      - EH
      - ES
      - EE
      - ET
      - FI
      - FJ
      - FK
      - FR
      - FO
      - FM
      - GA
      - GB
      - GE
      - GG
      - GH
      - GI
      - GN
      - GP
      - GM
      - GW
      - GQ
      - GR
      - GD
      - GL
      - GT
      - GF
      - GU
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IM
      - IN
      - IO
      - IE
      - IR
      - IQ
      - IS
      - IL
      - IT
      - JM
      - JE
      - JO
      - JP
      - KZ
      - KE
      - KG
      - KH
      - KI
      - KN
      - KR
      - KW
      - LA
      - LB
      - LR
      - LY
      - LC
      - LI
      - LK
      - LS
      - LT
      - LU
      - LV
      - MO
      - MF
      - MA
      - MC
      - MD
      - MG
      - MV
      - MX
      - MH
      - MK
      - ML
      - MT
      - MM
      - ME
      - MN
      - MP
      - MZ
      - MR
      - MS
      - MQ
      - MU
      - MW
      - MY
      - YT
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NU
      - NL
      - 'NO'
      - NP
      - NR
      - NZ
      - OM
      - PK
      - PA
      - PN
      - PE
      - PH
      - PW
      - PG
      - PL
      - PR
      - KP
      - PT
      - PY
      - PS
      - PF
      - QA
      - RE
      - RO
      - RU
      - RW
      - SA
      - SD
      - SN
      - SG
      - GS
      - SH
      - SJ
      - SB
      - SL
      - SV
      - SM
      - SO
      - PM
      - RS
      - SS
      - ST
      - SR
      - SK
      - SI
      - SE
      - SZ
      - SX
      - SC
      - SY
      - TC
      - TD
      - TG
      - TH
      - TJ
      - TK
      - TM
      - TL
      - TO
      - TT
      - TN
      - TR
      - TV
      - TW
      - TZ
      - UG
      - UA
      - UM
      - UY
      - US
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - XK
      - YE
      - ZA
      - ZM
      - ZW
      title: CountryCodeAlpha2
      x-enum-varnames:
      - AW
      - AF
      - AO
      - AI
      - AX
      - AL
      - AD
      - AE
      - AR
      - AM
      - AS
      - AQ
      - TF
      - AG
      - AU
      - AT
      - AZ
      - BI
      - BE
      - BJ
      - BQ
      - BF
      - BD
      - BG
      - BH
      - BS
      - BA
      - BL
      - BY
      - BZ
      - BM
      - BO
      - BR
      - BB
      - BN
      - BT
      - BV
      - BW
      - CF
      - CA
      - CC
      - CH
      - CL
      - CN
      - CI
      - CM
      - CD
      - CG
      - CK
      - CO
      - KM
      - CV
      - CR
      - CU
      - CW
      - CX
      - KY
      - CY
      - CZ
      - DE
      - DJ
      - DM
      - DK
      - DO
      - DZ
      - EC
      - EG
      - ER
      - EH
      - ES
      - EE
      - ET
      - FI
      - FJ
      - FK
      - FR
      - FO
      - FM
      - GA
      - GB
      - GE
      - GG
      - GH
      - GI
      - GN
      - GP
      - GM
      - GW
      - GQ
      - GR
      - GD
      - GL
      - GT
      - GF
      - GU
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IM
      - IN
      - IO
      - IE
      - IR
      - IQ
      - IS
      - IL
      - IT
      - JM
      - JE
      - JO
      - JP
      - KZ
      - KE
      - KG
      - KH
      - KI
      - KN
      - KR
      - KW
      - LA
      - LB
      - LR
      - LY
      - LC
      - LI
      - LK
      - LS
      - LT
      - LU
      - LV
      - MO
      - MF
      - MA
      - MC
      - MD
      - MG
      - MV
      - MX
      - MH
      - MK
      - ML
      - MT
      - MM
      - ME
      - MN
      - MP
      - MZ
      - MR
      - MS
      - MQ
      - MU
      - MW
      - MY
      - YT
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NU
      - NL
      - 'NO'
      - NP
      - NR
      - NZ
      - OM
      - PK
      - PA
      - PN
      - PE
      - PH
      - PW
      - PG
      - PL
      - PR
      - KP
      - PT
      - PY
      - PS
      - PF
      - QA
      - RE
      - RO
      - RU
      - RW
      - SA
      - SD
      - SN
      - SG
      - GS
      - SH
      - SJ
      - SB
      - SL
      - SV
      - SM
      - SO
      - PM
      - RS
      - SS
      - ST
      - SR
      - SK
      - SI
      - SE
      - SZ
      - SX
      - SC
      - SY
      - TC
      - TD
      - TG
      - TH
      - TJ
      - TK
      - TM
      - TL
      - TO
      - TT
      - TN
      - TR
      - TV
      - TW
      - TZ
      - UG
      - UA
      - UM
      - UY
      - US
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - XK
      - YE
      - ZA
      - ZM
      - ZW
    PartnerApplicationListResponse:
      properties:
        applications:
          items:
            $ref: '#/components/schemas/PartnerApplicationResponse'
          type: array
          title: Applications
          description: List of partner applications.
      type: object
      required:
      - applications
      title: PartnerApplicationListResponse
    PartnerKycSubmissionRequest:
      properties:
        first_name:
          type: string
          minLength: 1
          title: First Name
          description: Legal first name.
          examples:
          - Felix
        last_name:
          type: string
          minLength: 1
          title: Last Name
          description: Legal last name.
          examples:
          - Whiskers
        date_of_birth:
          $ref: '#/components/schemas/DateString'
          description: Date of birth (`YYYY-MM-DD`).
        id_number:
          type: string
          format: password
          title: Id Number
          description: Government ID number matching `id_type`. For `us_ssn` use nine digits, with or without dashes (123-45-6789 or 123456789); for `us_ssn_last_4` use the last four digits; for non-US ID types provide the number as issued. Formatting characters are stripped before verification.
          writeOnly: true
          examples:
          - 123-45-6789
        id_type:
          $ref: '#/components/schemas/ExtPlaidIDNumberType'
          description: Type of government ID. Defaults to `us_ssn`; non-US representatives pass their country-specific type (e.g. `sg_nric`, `au_passport`, `ca_sin`).
          default: us_ssn
        address:
          $ref: '#/components/schemas/OnboardingAddress'
          description: Residential address.
        phone_number:
          anyOf:
          - type: string
            pattern: ^\+[1-9]\d{1,14}$
          - type: 'null'
          title: Phone Number
          description: Phone number in E.164 format (e.g. +14155550123).
          examples:
          - '+14155550123'
        ip:
          type: string
          format: ipvanyaddress
          title: Ip
          description: IPv4 or IPv6 address of the end user submitting this verification. Forwarded to the identity-verification provider as a fraud signal.
          examples:
          - 203.0.113.42
        user_email:
          type: string
          format: email
          title: User Email
          description: Email address of the applicant this KYC data belongs to. Must match the `user_email` the application was created with.
      type: object
      required:
      - first_name
      - last_name
      - date_of_birth
      - id_number
      - address
      - ip
      - user_email
      title: PartnerKycSubmissionRequest
    PartnerDocumentUploadRequest:
      properties:
        proof_type:
          $ref: '#/components/schemas/PublicKybProofType'
          description: Type of KYB document being uploaded. Common values are `incorporation` (certificate of incorporation or formation document), `address` (proof of business address), and `bank_statement`. Non-US businesses also upload `shareholder_registry` (your shareholder registry, also called the register of members) and `officer_registry` (your register of directors and officers). The onboarding status response lists exactly what an entity owes in `next_step.required_proof_types`.
        file_name:
          type: string
          title: File Name
          description: Original file name including extension.
        content_type:
          type: string
          title: Content Type
          description: MIME type of the file (e.g. `application/pdf`, `image/png`).
          default: application/pdf
      type: object
      required:
      - proof_type
      - file_name
      title: PartnerDocumentUploadRequest
    OnboardingDocumentStatus:
      properties:
        proof_type:
          $ref: '#/components/schemas/PublicKybProofType'
          description: Type of KYB document on file.
        file_name:
          anyOf:
          - type: string
          - type: 'null'
          title: File Name
          description: Uploaded file name, or null if not yet uploaded.
        representative_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Representative Id
          description: The representative this document belongs to, or null for business-level documents.
      type: object
      required:
      - proof_type
      - file_name
      title: OnboardingDocumentStatus
    PartnerCreateApplicationRequest:
      properties:
        business_name:
          type: string
          maxLength: 400
          title: Business Name
          description: Legal business name.
          examples:
          - Catnip Coffee Co
        business_date_of_incorporation:
          $ref: '#/components/schemas/DateString'
          description: Date the business was incorporated.
        incorporation_state:
          anyOf:
          - $ref: '#/components/schemas/StateCode'
          - type: 'null'
          description: US state of incorporation. Required for businesses incorporated in the US; omit for businesses incorporated elsewhere.
          examples:
          - DE
        legal_structure:
          $ref: '#/components/schemas/LegalStructure'
          description: Legal structure of the business (e.g. `llc`, `corp`). Businesses incorporated outside the US use `foreign_entity`.
        business_address:
          $ref: '#/components/schemas/OnboardingAddress'
          description: Registered legal business address. Must be in a country where Meow supports business onboarding; unsupported countries are rejected with the full supported list.
        physical_address:
          anyOf:
          - $ref: '#/components/schemas/OnboardingAddress'
          - type: 'null'
          description: Primary operating address. Omit it when the business operates at its registered legal address; that address is then used as the physical address too.
        user_email:
          type: string
          format: email
          title: User Email
          description: Email address of the primary representative who will own the account.
        partner_reference_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Partner Reference Id
          description: Your own reference ID for this application, used to make creation idempotent.
      type: object
      required:
      - business_name
      - business_date_of_incorporation
      - legal_structure
      - business_address
      - user_email
      title: PartnerCreateApplicationRequest
    PartnerKycSubmissionResponse:
      properties:
        application_id:
          type: string
          format: uuid
          title: Application Id
          description: Unique application identifier.
        user_email:
          type: string
          title: User Email
          description: Email address of the verified applicant.
        kyc_status:
          $ref: '#/components/schemas/OnboardingKycStatus'
          description: 'Identity verification status after this submission. Verification usually completes asynchronously; poll the application status endpoint for the final result. This polled status has no `action_required` value: attempts the `identity_verification.*` webhook stream reports as `identity_verification.action_required` appear here as `pending` until a new attempt resolves.'
      type: object
      required:
      - application_id
      - user_email
      - kyc_status
      title: PartnerKycSubmissionResponse
    PartnerDocumentConfirmResponse:
      properties:
        confirmed:
          type: boolean
          title: Confirmed
          description: Whether the document was successfully confirmed.
        file_name:
          type: string
          title: File Name
          description: Confirmed file name.
      type: object
      required:
      - confirmed
      - file_name
      title: PartnerDocumentConfirmResponse
    PublicKybProofType:
      type: string
      enum:
      - 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
      - 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
      - sanctions_vendor_service_agreement
      - contractual_fund_flow_agreements
      title: PublicKybProofType
      x-enum-varnames:
      - 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
      - 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
      - sanctions_vendor_service_agreement
      - contractual_fund_flow_agreements
    PartnerDocumentConfirmRequest:
      properties:
        object_key:
          type: string
          title: Object Key
          description: Object key returned from the upload-url endpoint.
        proof_type:
          $ref: '#/components/schemas/PublicKybProofType'
          description: Type of KYB document being confirmed. Use the same `proof_type` you passed when requesting the upload URL.
      type: object
      required:
      - object_key
      - proof_type
      title: PartnerDocumentConfirmRequest
    PartnerApplicationResponse:
      properties:
        entity_id:
          type: string
          format: uuid
          title: Entity Id
          description: Public ID of the onboarded business entity, stable across the onboarding lifecycle and matching the `entity_id` used in the Customer API, MCP, and webhook payloads.
        status:
          $ref: '#/components/schemas/OnboardingApplicationStatus'
          description: Current onboarding status.
        business_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Business Name
          description: Legal business name.
        created_at:
          $ref: '#/components/schemas/Timestamp'
          description: ISO 8601 timestamp of when the entity was created.
        updated_at:
          $ref: '#/components/schemas/Timestamp'
          description: ISO 8601 timestamp of when onboarding was last updated.
        application_id:
          type: string
          format: uuid
          title: Application Id
          description: Unique application identifier.
        partner_reference_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Partner Reference Id
          description: Your reference ID.
        onboarding_url:
          type: string
          title: Onboarding Url
          description: URL the applicant opens to complete onboarding.
      type: object
      required:
      - entity_id
      - status
      - business_name
      - created_at
      - updated_at
      - application_id
      - partner_reference_id
      - onboarding_url
      title: PartnerApplicationResponse
    LegalStructure:
      type: string
      enum:
      - ccorp
      - corp
      - estate
      - foreign_entity
      - llc
      - llp
      - lp
      - nonprofit
      - partnership
      - scheme
      - scorp
      - soleprop
      - trust
      title: LegalStructure
    PartnerApplicationStatusResponse:
      properties:
        entity_id:
          type: string
          format: uuid
          title: Entity Id
          description: Public ID of the onboarded business entity, stable across the onboarding lifecycle and matching the `entity_id` used in the Customer API, MCP, and webhook payloads.
        status:
          $ref: '#/components/schemas/OnboardingApplicationStatus'
          description: Current onboarding status.
        business_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Business Name
          description: Legal business name.
        created_at:
          $ref: '#/components/schemas/Timestamp'
          description: ISO 8601 timestamp of when the entity was created.
        updated_at:
          $ref: '#/components/schemas/Timestamp'
          description: ISO 8601 timestamp of when onboarding was last updated.
        documents:
          items:
            $ref: '#/components/schemas/OnboardingDocumentStatus'
          type: array
          title: Documents
          description: Documents uploaded during onboarding.
        kyc_status:
          $ref: '#/components/schemas/OnboardingKycStatus'
          description: Identity verification status of the primary representative. After you submit KYC data or they complete verification, this moves to `pending` and resolves on its own; poll it to track progress.
        application_id:
          type: string
          format: uuid
          title: Application Id
          description: Unique application identifier.
        partner_reference_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Partner Reference Id
          description: Your reference ID.
        onboarding_url:
          type: string
          title: Onboarding Url
          description: URL the applicant opens to complete onboarding.
      type: object
      required:
      - entity_id
      - status
      - business_name
      - created_at
      - updated_at
      - documents
      - kyc_

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/meow/refs/heads/main/openapi/meow-partner-onboarding-api-openapi.yml