> ## Documentation Index
> Fetch the complete documentation index at: https://developer.meow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit Entity Application

> Submit a fully prepared business entity for review. Choose the checking account product to open and attest that you are authorized to submit on the business's behalf. The application must have everything it needs first (check `next_step.can_submit` on the onboarding status); otherwise this returns the outstanding requirements. Once submitted, the application moves to review and can no longer be edited. Returns the updated onboarding status.



## OpenAPI

````yaml POST /entities/{entity_id}/submit
openapi: 3.1.0
info:
  title: Meow 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: API Keys
    description: Retrieve metadata about API keys and their accessible entities.
  - name: Accounts
    description: Access and manage accounts.
  - name: Approvals
  - name: Balances
    description: Retrieve account balances and available funds.
  - name: Bills
    description: View and manage bills for vendor payments.
  - name: Cards
    description: Manage virtual and physical cards, and view transactions and insights.
  - name: Collection Accounts
    description: Manage accounts for payment collection.
  - name: Contacts
    description: Manage contacts for crypto and USDC transfers.
  - name: Customers
    description: Manage invoicing customers and their details.
  - name: Entities
  - name: Invoices
    description: Create and manage invoices.
  - name: Limits
  - name: Line Items
    description: Manage invoice line items.
  - name: Partner Onboarding
    description: Onboard entities using your partner API key.
  - name: Partner Webhooks
  - name: Payment Methods
    description: View available payment method types.
  - name: Payment Networks
    description: Manage payment networks and routing information.
  - name: Products
    description: Manage products and pricing for invoicing.
  - name: Routing Numbers
    description: Validate routing numbers and retrieve bank information.
  - name: Security Policies
  - name: Simulations
    description: >-
      Trigger simulated events — inbound transfers, card authorizations,
      application approval — to test integrations end-to-end without real money
      movement. **Not available in production**: these endpoints exist only in
      sandbox and development environments and return `404 Not Found` in
      production.
  - name: Tax Forms
    description: Retrieve IRS tax forms (1099 family) issued for accounts.
  - name: Transactions
    description: Retrieve account transaction history and details.
  - name: Transfers
    description: >-
      Initiate ACH, wire, book, and crypto transfers, and retrieve transfer
      details.
  - name: Webhooks
    description: Manage webhook subscriptions and inspect delivery history.
paths:
  /entities/{entity_id}/submit:
    post:
      tags:
        - Entities
      summary: Submit Entity Application
      description: >-
        Submit a fully prepared business entity for review. Choose the checking
        account product to open and attest that you are authorized to submit on
        the business's behalf. The application must have everything it needs
        first (check `next_step.can_submit` on the onboarding status); otherwise
        this returns the outstanding requirements. Once submitted, the
        application moves to review and can no longer be edited. Returns the
        updated onboarding status.
      operationId: submit_entity_application_entities__entity_id__submit_post
      parameters:
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            title: Entity Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitySubmitApplicationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityOnboardingStatusResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - apiKeyAuth:
            - entity:create
components:
  schemas:
    EntitySubmitApplicationRequest:
      properties:
        banking_account_product_type:
          $ref: '#/components/schemas/EntityCheckingAccountProduct'
          description: >-
            The checking account product to open for this entity once it is
            approved.
        attestation:
          type: boolean
          title: Attestation
          description: >-
            Set to `true` to attest that you are authorized to submit this
            application on the business's behalf and that the information
            provided is accurate and complete.
      type: object
      required:
        - banking_account_product_type
        - attestation
      title: EntitySubmitApplicationRequest
    EntityOnboardingStatusResponse:
      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 entity's primary representative.
            After you submit KYC data or the representative completes
            verification, this value moves to `pending` and resolves on its own;
            poll it to track progress. It is coarser than the
            `identity_verification.*` webhooks: a verification the webhooks
            report as `identity_verification.action_required` shows here as
            `pending` until a new attempt resolves.
        onboarding_type:
          $ref: '#/components/schemas/PublicOnboardingType'
          description: How this entity was onboarded (e.g. `api`, `smb`, `partner`).
        next_step:
          $ref: '#/components/schemas/OnboardingNextStep'
          description: >-
            What you must do next: the current onboarding step, the items still
            missing for it, and whether the application is ready to be submitted
            for review.
      type: object
      required:
        - entity_id
        - status
        - business_name
        - created_at
        - updated_at
        - documents
        - kyc_status
        - onboarding_type
        - next_step
      title: EntityOnboardingStatusResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    EntityCheckingAccountProduct:
      type: string
      enum:
        - grasshopper
        - crb
      title: EntityCheckingAccountProduct
      x-enum-varnames:
        - grasshopper
        - crb
    OnboardingApplicationStatus:
      type: string
      enum:
        - pending_document_upload
        - pending_user_action
        - submitted
        - under_review
        - approved
        - rejected
      title: OnboardingApplicationStatus
    Timestamp:
      type: string
      format: date-time
      title: Timestamp
      description: >-
        ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]`
        (per [IETF RFC
        3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    OnboardingDocumentStatus:
      properties:
        proof_type:
          $ref: '#/components/schemas/KybProofType'
          description: Type of KYB document.
        file_name:
          anyOf:
            - type: string
            - type: 'null'
          title: File Name
          description: Uploaded file name, or null if not yet uploaded.
      type: object
      required:
        - proof_type
        - file_name
      title: OnboardingDocumentStatus
    OnboardingKycStatus:
      type: string
      enum:
        - not_started
        - pending
        - approved
        - rejected
      title: OnboardingKycStatus
      x-enum-varnames:
        - not_started
        - pending
        - approved
        - rejected
    PublicOnboardingType:
      type: string
      enum:
        - api
        - smb
        - mcp
        - partner
      title: PublicOnboardingType
      x-enum-varnames:
        - api
        - smb
        - mcp
        - partner
    OnboardingNextStep:
      properties:
        step:
          $ref: '#/components/schemas/OnboardingStep'
          description: The onboarding step the application is currently on.
        phase:
          $ref: '#/components/schemas/OnboardingPhase'
          description: >-
            Coarse onboarding phase (collecting info, ready to submit, or
            submitted).
        missing:
          items:
            type: string
          type: array
          title: Missing
          description: >-
            Items you still need to provide to advance past the current step.
            Empty once the step is satisfied.
        required_proof_types:
          items:
            $ref: '#/components/schemas/KybProofType'
          type: array
          title: Required Proof Types
          description: >-
            KYB documents the entity still owes, as `proof_type` values. Pass
            each one as the `proof_type` when requesting a document upload URL.
            Empty once every required document is on file.
        can_submit:
          type: boolean
          title: Can Submit
          description: >-
            Whether all requirements are met and the application is ready to be
            submitted for review.
      type: object
      required:
        - step
        - phase
        - missing
        - can_submit
      title: OnboardingNextStep
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    KybProofType:
      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
        - uk_officer_registry
        - uk_registry
        - uk_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: KybProofType
    OnboardingStep:
      type: string
      enum:
        - gather_business_context
        - collect_user_info
        - collect_business_addresses
        - collect_business_details
        - collect_additional_details
        - complete_due_diligence
        - upload_documents
        - manage_representatives
        - complete_identity_verification
        - accept_terms
        - submit_application
        - monitor_review
        - resolve_info_requests
      title: OnboardingStep
    OnboardingPhase:
      type: string
      enum:
        - business_info
        - ready_to_submit
        - submitted
      title: OnboardingPhase
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Meow API key, sent in the `x-api-key` header for authentication.
      x-scopes:
        - accounts:read
        - accounts:write
        - accounts:payment-networks
        - accounts:transactions
        - accounts:balances
        - accounts:statements
        - accounts:tax-documents
        - entity:create
        - transfers:crypto:write
        - transfers:usdc:write
        - transfers:ach:write
        - transfers:wire:write
        - transfers:book:write
        - contacts:read
        - contacts:write
        - billing:products:read
        - billing:products:write
        - billing:customers:read
        - billing:customers:write
        - billing:invoices:read
        - billing:invoices:write
        - billing:accounts:read
        - billpay:read
        - billpay:write
        - onboarding:read
        - onboarding:write
        - cards:read
        - cards:write
        - webhooks:read
        - webhooks:write
        - partner:onboarding:read
        - partner:onboarding:write
        - partner:webhooks:read
        - partner:webhooks:write
        - simulations:write
        - banking:limits:read
        - banking:limits:write

````