> ## 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.

# Invite a team member

> Invite a colleague to your entity using a user API key with users:write and current admin access. Your key must have approved write access to the entity. Entity service keys cannot invite users. Your entity's approval policy applies before the invitation is sent. Your colleague must accept the invitation before gaining access. Existing members, pending invitations, and active invitation requests are rejected. Retrying while a request or invitation is active does not send another invitation.

Use a user API key with `users:write` to invite a colleague to your entity.
Include `x-entity-id` with the entity's public ID.
Your key needs write access to that entity, and you must currently have the Admin role.
Entity service keys, partner keys, and MCP credentials cannot create invitations.

Your entity's approval policy applies to the invitation request.
The response contains the request ID and its status.
If the status is `pending_approval`, an administrator must approve the request in your dashboard.
The invitation gives no access until your colleague accepts it.

Choose an existing team role other than `None`.
The same role restrictions apply as in your dashboard.
The API rejects existing members, active invitations, and active invitation requests with HTTP 400.
Repeating the request while an invitation or request is active does not send another invitation.
Use your dashboard to resend an invitation.


## OpenAPI

````yaml POST /users/invitations
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.

    - **Bill pay**: draft bills payable to your vendors and track them through
    payment.


    ### Bill Pay API


    The Bill Pay API lets you create bills for your vendors and track them
    through payment:


    - **Bill drafting**: create bills as drafts. Nothing is paid until someone
    approves the bill in the Meow dashboard.

    - **Attachments**: upload invoices and supporting documents to a bill.

    - **Bulk loads**: send an `Idempotency-Key` with every create so a retry
    never duplicates a bill. Drafting is capped at 500 bills per rolling 24
    hours per creator — your entity key, or the user a user-scoped key acts as.
    Creates past the cap return `429 Too Many Requests`.


    ### 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.


    ### Rate Limits


    Each API key has a limit of 1,200 requests per minute, unless Meow has
    agreed a different limit with you. The limit works as a token bucket: you
    can spend the whole minute at once, and requests return steadily over the
    minute.


    Responses carry the `RateLimit-Policy` and `RateLimit` headers. They show
    your limit, the requests you have left, and the seconds until your full
    limit is back. These headers are informational today: going over the limit
    is logged, not rejected.


    A separate, coarser safeguard protects the API from abusive traffic and can
    reject requests with `429 Too Many Requests`. It returns a `Retry-After`
    header and a body with `error_code` set to `rate_limited` and a `message`,
    but not the quota headers above. Wait at least `Retry-After` seconds and add
    a small random delay. If the retry is limited again, back off exponentially.
    Send an `Idempotency-Key` when you retry a request that creates something or
    moves money.


    ### 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
  - url: https://api.dev.meow.com/v1
    description: Meow API Development
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: Bill Pay
  - 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: Feature Access
    description: >-
      Request access to restricted features, such as international payments, and
      track the status of your requests.
  - 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: Reimbursements
    description: View reimbursement requests by employee.
  - 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: Users
    description: View active users for your entity.
  - name: Webhooks
    description: Manage webhook subscriptions and inspect delivery history.
  - name: Wire Drawdowns
    description: >-
      Review vendor requests to draw funds by wire, and pre-authorize trusted
      vendors.
paths:
  /users/invitations:
    post:
      tags:
        - Users
      summary: Invite a team member
      description: >-
        Invite a colleague to your entity using a user API key with users:write
        and current admin access. Your key must have approved write access to
        the entity. Entity service keys cannot invite users. Your entity's
        approval policy applies before the invitation is sent. Your colleague
        must accept the invitation before gaining access. Existing members,
        pending invitations, and active invitation requests are rejected.
        Retrying while a request or invitation is active does not send another
        invitation.
      operationId: create_user_invitation_users_invitations_post
      parameters:
        - $ref: '#/components/parameters/EntityIdHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserInvitationRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserInvitationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - apiKeyAuth:
            - users:write
components:
  parameters:
    EntityIdHeader:
      name: x-entity-id
      in: header
      required: false
      schema:
        type: string
        format: uuid
      description: Optional `entity_id` to scope requests to a specific entity.
  schemas:
    CreateUserInvitationRequest:
      properties:
        email:
          type: string
          maxLength: 100
          format: email
          title: Email
          description: Email address of the colleague you want to invite.
        role:
          $ref: '#/components/schemas/UserRoleEnum'
          description: Role your colleague receives after accepting the invitation.
      additionalProperties: false
      type: object
      required:
        - email
        - role
      title: CreateUserInvitationRequest
    CreateUserInvitationResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            Invitation request ID. Use this to find the request in your
            dashboard's Approvals page.
        status:
          $ref: '#/components/schemas/OperationStatus'
          description: >-
            Request status. A pending_approval request needs approval in your
            dashboard before your colleague receives an invitation.
      type: object
      required:
        - id
        - status
      title: CreateUserInvitationResponse
    UserRoleEnum:
      type: string
      enum:
        - Admin
        - Viewer
        - Bookkeeper
        - Controller
        - Card user
        - Card manager
        - Invoice user
        - AP Clerk
        - AP/AR Bookkeeper
        - Bill Approver
        - None
      title: UserRoleEnum
    OperationStatus:
      type: string
      enum:
        - new
        - pending_approval
        - approved
        - queued
        - in_progress
        - completed
        - failed
        - rejected
        - expired
      title: OperationStatus
    CustomerApiError:
      oneOf:
        - $ref: '#/components/schemas/CustomerApiServiceError'
        - $ref: '#/components/schemas/CustomerApiGatewayError'
    CustomerApiGatewayError:
      type: object
      required:
        - error_code
        - message
      properties:
        error_code:
          type: string
        message:
          type: string
    CustomerApiServiceError:
      type: object
      required:
        - code
        - message
        - debug_message
      properties:
        code:
          type: integer
        message:
          type: string
        debug_message:
          type: string
  responses:
    BadRequest:
      description: The request could not be processed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerApiError'
    Unauthorized:
      description: Authentication failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerApiGatewayError'
    Forbidden:
      description: The API key is not authorized for this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerApiGatewayError'
    RateLimited:
      description: Too many requests.
      headers:
        Retry-After:
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerApiGatewayError'
  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
        - transfers:international: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
        - reimbursements:read
        - users:read
        - users: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
        - feature-access:read
        - feature-access:write

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.