> This page is for Cash App Pay Partner API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.cash.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.cash.app/_mcp/server.

### Schema (`response.body`)

```yaml
openapi: 3.1.0
info:
  title: API
  version: 1.0.0
paths:
  /grant-schema-test:
    get:
      operationId: subpackageSchemas_get-grant-schema-test
      summary: Get Grant Schema Test
      description: >-
        Describes a grant that can be used to perform actions specified in a
        customer request using the Network API.
      tags:
        - subpackage_schemas
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas_GetGrantSchemaTestSchemasResponse'
tags:
  - name: subpackage_schemas
servers:
  - url: https://api.cash.app/network/v1
    description: Production
  - url: https://sandbox.api.cash.app/network/v1
    description: Sandbox
components:
  schemas:
    Currency:
      type: string
      enum:
        - USD
      description: >-
        Indicates the country associated with an entity. Values are from the
        [ISO-4217 Alpha-3](https://www.iso.org/iso-4217-currency-codes.html)
        specification.


        Current values:


        - `USD`: United States Dollar
      title: Currency
    Action:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - ONE_TIME_PAYMENT
              description: 'Discriminator value: ONE_TIME_PAYMENT'
            amount:
              type: integer
              minimum: 1
              description: >-
                Amount to charge the customer, in the lowest unit of the
                associated currency.


                Min value: `1`
            currency:
              $ref: '#/components/schemas/Currency'
            scope_id:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                ID of the client, brand, or merchant that will charge the
                customer.


                If a client ID is passed, the grant from this action can be used
                to create a payment for any merchant owned by the client.


                If a brand ID is passed, the grant from this action can be used
                to create a payment for any merchant that has a matching brand
                ID.


                If a merchant ID is passed, the grant from this action can be
                used to create a payment for the merchant with a matching ID.


                Min length: `1`

                Max length: `128`
          required:
            - type
            - scope_id
        - type: object
          properties:
            type:
              type: string
              enum:
                - ON_FILE_PAYMENT
              description: 'Discriminator value: ON_FILE_PAYMENT'
            scope_id:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                ID of the client or brand that will charge customers.


                If a client ID is passed, the grant from this action can be used
                to create a payment for any merchant owned by the client.


                If a brand ID is passed, the grant from this action can be used
                to create a payment for any merchant that has a matching brand
                ID.


                Merchant IDs may *not* be passed.


                Min length: `1`

                Max length: `128`
            account_reference_id:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Identifier of the account or customer associated to the on file
                action.
          required:
            - type
            - scope_id
        - type: object
          properties:
            type:
              type: string
              enum:
                - ON_FILE_DEPOSIT
              description: 'Discriminator value: ON_FILE_DEPOSIT'
            scope_id:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                ID of the client or brand that indicates the set of merchants
                that will deposit to customers.


                If a client ID is passed, the grant from this action can be used
                to create a deposit for any merchant owned by the client.


                If a brand ID is passed, the grant from this action can be used
                to create a deposit for any merchant that has a matching brand
                ID.

                Min length: `1`

                Max length: `128`
            account_reference_id:
              type: string
              description: >-
                Identifier of the account or customer associated to the on file
                action.
          required:
            - type
            - scope_id
            - account_reference_id
        - type: object
          properties:
            type:
              type: string
              enum:
                - LINK_ACCOUNT
              description: 'Discriminator value: LINK_ACCOUNT'
          required:
            - type
      discriminator:
        propertyName: type
      description: >-
        Represents what the client intends to do to a customer if given
        authorization.
      title: Action
    GrantStatus:
      type: string
      enum:
        - ACTIVE
        - CONSUMED
        - REVOKED
        - EXPIRED
      description: >-
        Describes whether or not this grant can be used to perform the action
        associated with it.


        If `ACTIVE`, it can be used to perform the action.


        If `EXPIRED`, it may no longer be used to perform the action due to the
        current time being past the "expires_at" time.


        If `CONSUMED`, it was already redeemed to perform the action and cannot
        be used again.


        If `REVOKED`, the customer or merchant explicitly unauthorized the
        grant, preventing it from being used to perform the action.
      title: GrantStatus
    GrantType:
      type: string
      enum:
        - ONE_TIME
        - EXTENDED
      description: >-
        Describes whether this grant can be only be used once (`ONE_TIME`) or
        repeatedly (`EXTENDED`).
      title: GrantType
    Channel:
      type: string
      enum:
        - IN_PERSON
        - ONLINE
        - IN_APP
      description: >-
        How the customer is expected to interact with the request.


        - `IN_PERSON`: The customer presents or scans a QR code at a physical
        location to approve the request.

        - `ONLINE`: The customer scans a QR code or is redirected to Cash App
        from a browser context.

        - `IN_APP`: The customer scans a QR code or is redirected to Cash App
        from a native mobile application context.
      title: Channel
    Grant:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 256
          description: |-
            Unique identifier for this grant issued by Cash App.

            Min length: `1`
            Max length: `256`
        customer_id:
          type: string
          minLength: 1
          maxLength: 128
          description: |-
            ID of the customer that approved this grant.

            Min length: `1`
            Max length: `128`
        request_id:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            A unique identifier issued by Cash App for the customer request that
            resulted in the creation of this grant.


            Min length: `1`

            Max length: `128`
        action:
          $ref: '#/components/schemas/Action'
        status:
          $ref: '#/components/schemas/GrantStatus'
          description: >-
            Describes whether or not this grant can be used to perform the
            action associated with it.


            If `ACTIVE`, it can be used to perform the action.


            If `EXPIRED`, it may no longer be used to perform the action due to
            the current time being past the "expires_at" time.


            If `CONSUMED`, it was already redeemed to perform the action and
            cannot be used again.


            If `REVOKED`, the customer or merchant explicitly unauthorized the
            grant, preventing it from being used to perform the action.
        type:
          $ref: '#/components/schemas/GrantType'
          description: >-
            Describes whether this grant can be only be used once (`ONE_TIME`)
            or repeatedly (`EXTENDED`).
        channel:
          $ref: '#/components/schemas/Channel'
        created_at:
          type: string
          format: date-time
          description: >-
            When this grant was created, in [RFC
            3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
        updated_at:
          type: string
          format: date-time
          description: >-
            When this grant was last updated, in [RFC
            3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
        expires_at:
          type: string
          format: date-time
          description: >-
            If present, indicates when the grant's status will become `EXPIRED`,
            preventing a client from using it to create payments or refunds.


            The timestamp is in the [RFC
            3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
      required:
        - id
        - customer_id
        - request_id
        - action
        - status
        - type
        - channel
        - created_at
        - updated_at
      description: >-
        Describes a grant that can be used to perform actions specified in a
        customer request using the Network API.
      title: Grant
    schemas_GetGrantSchemaTestSchemasResponse:
      type: object
      properties:
        grant:
          $ref: '#/components/schemas/Grant'
      required:
        - grant
      title: GetGrantSchemaTestSchemasResponse

```

**`Example`**

```json Example
{
  "id": "GRG_221243dc6985a6819ff6950c1a21332f7bc4a46ebd49b5a7002908ab768e8e5ff7831e084d0d2c9d8d939793b55eff50",
  "customer_id": "CST_AQmxh4y_QGoNNIG5NUw0jttqyYedL1LklACQdyJ3H-Vs6WmLtP6A_C7XjQNohvY",
  "request_id": "GRR_1hrxhz136krcq6ezdte2ha5q",
  "action": {
    "amount": 2500,
    "currency": "USD",
    "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
    "type": "ONE_TIME_PAYMENT"
  },
  "status": "ACTIVE",
  "type": "ONE_TIME",
  "channel": "ONLINE",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "expires_at": "2022-04-01T12:00:00Z"
}
```