Cash App Webhooks API

The Webhooks API from Cash App — 3 operation(s) for webhooks.

Operations 6

GET /webhook-endpoints List webhook endpoints #
POST /webhook-endpoints Create webhook endpoint #
GET /webhook-endpoints/{webhook_endpoint_id} Retrieve webhook endpoint #
PATCH /webhook-endpoints/{webhook_endpoint_id} Update webhook endpoint #
DELETE /webhook-endpoints/{webhook_endpoint_id} Delete webhook endpoint #
GET /webhook-events List webhook events #

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cash-app-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cash-app-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Management Webhooks API
  version: 1.0.0
servers:
- url: https://api.cash.app/management/v1
  description: Production
- url: https://sandbox.api.cash.app/management/v1
  description: Sandbox
tags:
- name: Webhooks
paths:
  /webhook-endpoints:
    get:
      operationId: list-webhook-endpoints
      summary: List webhook endpoints
      description: 'Returns a list of webhook endpoints matching the query parameters provided.


        Scopes: `WEBHOOK_CONFIG_READ`'
      tags:
      - Webhooks
      parameters:
      - name: cursor
        in: query
        description: A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for the original query.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of webhook endpoints to return.
        required: false
        schema:
          type: integer
          default: 50
      - name: reference_id
        in: query
        description: A user-defined identifier for this webhook endpoint, typically used to associate the webhook endpoint with a record in an external system.
        required: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_list-webhook-endpoints_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: create-webhook-endpoint
      summary: Create webhook endpoint
      description: "Creates a new webhook endpoint which Cash App can send events to.\n\n<Note title=\"Note\">\n Webhook events will not be successfully delivered for new domains until the new domain is allow-listed. New domains must be manually reviewed and allow-listed. It will typically take 1 business day to allow-list new domains.\n</Note>\n\nScopes: `WEBHOOK_CONFIG_WRITE`"
      tags:
      - Webhooks
      parameters:
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_create-webhook-endpoint_Response_201'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                idempotency_key:
                  $ref: '#/components/schemas/IdempotencyKey'
                webhook_endpoint:
                  $ref: '#/components/schemas/WebhookEndpointsPostRequestBodyContentApplicationJsonSchemaWebhookEndpoint'
              required:
              - idempotency_key
              - webhook_endpoint
  /webhook-endpoints/{webhook_endpoint_id}:
    get:
      operationId: retrieve-webhook-endpoint
      summary: Retrieve webhook endpoint
      description: 'Returns the webhook endpoint matching the `webhook_endpoint_id` provided.


        Scopes: `WEBHOOK_CONFIG_READ`'
      tags:
      - Webhooks
      parameters:
      - name: webhook_endpoint_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_retrieve-webhook-endpoint_Response_200'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: update-webhook-endpoint
      summary: Update webhook endpoint
      description: 'Updates the webhook endpoint matching the `webhook_endpoint_id` provided.


        Scopes: `WEBHOOK_CONFIG_WRITE`'
      tags:
      - Webhooks
      parameters:
      - name: webhook_endpoint_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_update-webhook-endpoint_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                webhook_endpoint:
                  $ref: '#/components/schemas/WebhookEndpointsWebhookEndpointIdPatchRequestBodyContentApplicationJsonSchemaWebhookEndpoint'
              required:
              - webhook_endpoint
    delete:
      operationId: delete-webhook-endpoint
      summary: Delete webhook endpoint
      description: 'Deletes the webhook endpoint matching the `webhook_endpoint_id` provided. Note: Events that are created before the webhook endpoint was deleted will still be delivered after the webhook endpoint gets deleted.


        Scopes: `WEBHOOK_CONFIG_WRITE`'
      tags:
      - Webhooks
      parameters:
      - name: webhook_endpoint_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_delete-webhook-endpoint_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /webhook-events:
    get:
      operationId: list-webhook-events
      summary: List webhook events
      description: 'Returns a list of all webhook events matching the query parameters provided. Expired events are not included.


        Scopes: `WEBHOOK_EVENTS_READ`'
      tags:
      - Webhooks
      parameters:
      - name: webhook_endpoint_id
        in: query
        description: Events delivered to this webhook endpoint ID.
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: The status of an event that was delivered to a webhook endpoint. The status can either be PENDING, SUCCESS, or FAILED.
        required: false
        schema:
          $ref: '#/components/schemas/WebhookEventsGetParametersStatus'
      - name: event_type
        in: query
        description: The type of event that will be sent to the webhook endpoint.
        required: false
        schema:
          $ref: '#/components/schemas/WebhookEventsGetParametersEventType'
      - name: cursor
        in: query
        description: A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for the original query.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of webhook events to return.
        required: false
        schema:
          type: integer
          default: 100
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooks_list-webhook-events_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Category:
      type: string
      description: The merchant category code associated with the entity. Values are from the [ISO-18245 specification](https://www.iso.org/standard/33365.html).
      title: Category
    WebhookEventsGetParametersStatus:
      type: string
      enum:
      - PENDING
      - SUCCESS
      - FAILED
      title: WebhookEventsGetParametersStatus
    EventDataDataObject5:
      type: object
      properties:
        refund:
          $ref: '#/components/schemas/Refund'
      title: EventDataDataObject5
    Payment:
      type: object
      properties:
        id:
          type: string
          description: 'Unique identifier for this payment issued by Cash App.


            Min length: `1`

            Max length: `128`'
        amount:
          type: integer
          description: 'The amount of money to collect, in the lowest denomination of currency on the payment. This is the _original_ amount authorized when the payment was created.


            Min value: `1`'
        net_amount:
          type: integer
          description: 'The amount remaining after refunds and voided payments are deducted from the amount field. The amount will be in the lowest denomination of the currency on the payment.

            This is the amount that will be shown to the customer in their Cash App account.



            Min value: `0`'
        captured_amount:
          type: integer
          description: 'The amount of money on this payment that has been allocated for settlement. The amount will be in the lowest denomination of the currency on the payment.


            Min value: `0`'
        voided_amount:
          type: integer
          description: 'The amount of money on this payment that is no longer authorized and has been released back to the customer. The amount will be in the lowest denomination of the currency on the payment.


            Min value: `0`'
        refunded_amount:
          type: integer
          description: 'Sum of captured refunds in the lowest denomination of currency on the payment.


            Min value: `0`'
        currency:
          $ref: '#/components/schemas/Currency'
        customer_id:
          type: string
          description: 'ID of the customer that sent this payment.


            Min length: `1`

            Max length: `128`'
        merchant_id:
          type: string
          description: 'ID of the merchant that received this payment.


            Min length: `1`

            Max length: `128`'
        grant_id:
          type: string
          description: 'ID of the grant to used to create this payment.


            Min length: `1`

            Max length: `256`'
        status:
          $ref: '#/components/schemas/PaymentStatus'
          description: 'The step of the payment processing lifecycle that this payment is currently at.


            - `AUTHORIZED`

            - `CAPTURED`

            - `VOIDED`

            - `DECLINED`'
        created_at:
          type: string
          format: date-time
          description: When this payment was created, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
        updated_at:
          type: string
          format: date-time
          description: When this payment was last updated, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
        capture_before:
          type: string
          format: date-time
          description: When this payment should be captured by, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
        refund_ids:
          type: array
          items:
            type: string
          description: 'A list of one or more IDs associated with refunds issued for this payment.


            Min array length: `1`

            Min length of IDs: `1`

            Max length of IDs: `128`'
        reference_id:
          type: string
          description: 'A user-defined identifier for this payment, typically used to associate the payment with a record in an external system.


            Min length: `1`

            Max length: `1024`'
        metadata:
          $ref: '#/components/schemas/Metadata'
        enrichments:
          $ref: '#/components/schemas/PaymentEnrichments'
        decline_errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          description: 'If the payment was declined, contains a list of the reasons why it was declined.


            Min number of items: `1`'
        fee_amount:
          type: number
          format: double
          description: The total fee amount that was charged to the merchant for processing this payment.
        fee_rate:
          $ref: '#/components/schemas/FeeRate'
          description: The breakdown of the fee that was charged to the merchant for processing this payment.
        authorization_updates:
          type: array
          items:
            $ref: '#/components/schemas/Authorization'
          description: "A list of authorization update attempts associated with this payment, sorted in chronological order.\n\nNote: This field contains only the authorization update attempts, so this field will be empty when \nthe payment is first created (even though the amount is authorized in this flow, it is not an update)."
      required:
      - id
      - amount
      - net_amount
      - captured_amount
      - voided_amount
      - refunded_amount
      - currency
      - customer_id
      - merchant_id
      - grant_id
      - status
      - created_at
      - updated_at
      title: Payment
    Country:
      type: string
      enum:
      - US
      description: 'Indicates the country associated with an entity. Values are from the [ISO-3166 Alpha-2](https://www.iso.org/iso-3166-country-codes.html) specification.


        Current values:


        - `US`: United States of America'
      title: Country
    WebhookEndpointStatus:
      type: string
      enum:
      - APPROVED
      - ENDPOINT_URL_UNDER_REVIEW
      description: The approval status of a webhook endpoint. Once a webhook endpoint is approved, Cash App will deliver events to that webhook endpoint.
      title: WebhookEndpointStatus
    webhooks_list-webhook-events_Response_200:
      type: object
      properties:
        webhook_events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEvent'
        cursor:
          type: string
          description: The pagination cursor to be used in a subsequent request. If empty, this is the final response.
      required:
      - webhook_events
      title: webhooks_list-webhook-events_Response_200
    RequestRequesterProfile:
      type: object
      properties:
        name:
          type: string
          description: 'Name of the brand to be shown in Cash App next to payments.


            Min length: `1`

            Max length: `1024`'
        logo_url:
          type: string
          format: uri
          description: 'URL to the image of the entity (brand or client) that is requesting permission to perform the actions on the customer request.


            Formats:

            - `.jpg`

            - `.jpeg`

            - `.png`


            Min length: `8`

            Max length: `8000`'
      required:
      - name
      - logo_url
      description: Details about the brand or client that are requesting permission to perform the actions on the customer request.
      title: RequestRequesterProfile
    Action:
      oneOf:
      - $ref: '#/components/schemas/OneTimePaymentAction'
      - $ref: '#/components/schemas/OnFilePaymentAction'
      - $ref: '#/components/schemas/OnFileDepositAction'
      - $ref: '#/components/schemas/LinkAccountAction'
      description: Represents what the client intends to do to a customer if given authorization.
      title: Action
    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
    PaymentStatus:
      type: string
      enum:
      - AUTHORIZED
      - CAPTURED
      - VOIDED
      - DECLINED
      description: 'The step of the payment processing lifecycle that this payment is currently at.


        - `AUTHORIZED`

        - `CAPTURED`

        - `VOIDED`

        - `DECLINED`'
      title: PaymentStatus
    EventDataDataObject1:
      type: object
      properties:
        merchant:
          $ref: '#/components/schemas/Merchant'
      title: EventDataDataObject1
    IdempotencyKey:
      type: string
      description: A unique identifier which can be used by Cash App to de-duplicate retries of this request, making it idempotent. Learn more about [idempotency](../docs/api/technical-documentation/api-fundamentals/idempotency) in the API.
      title: IdempotencyKey
    LinkAccountActionType:
      type: string
      enum:
      - LINK_ACCOUNT
      description: The type of the action (`LINK_ACCOUNT`).
      title: LinkAccountActionType
    OnFilePaymentActionType:
      type: string
      enum:
      - ON_FILE_PAYMENT
      default: ON_FILE_PAYMENT
      description: The type of the action (`ON_FILE_PAYMENT`).
      title: OnFilePaymentActionType
    RequestCustomerProfile:
      type: object
      properties:
        id:
          type: string
          description: 'Unique identifier for this customer issued by Cash App.


            Min length: `1`

            Max length: `128`'
        cashtag:
          type: string
          description: 'Public identifier for the customer on Cash App. [Learn more](https://cash.app/help/us/en-us/3123-cashtags).


            Min length: `1`

            Max length: `1024`'
      required:
      - id
      - cashtag
      description: If the customer request was approved, contains the identity of the Cash App customer that approved it.
      title: RequestCustomerProfile
    webhooks_update-webhook-endpoint_Response_200:
      type: object
      properties:
        webhook_endpoint:
          $ref: '#/components/schemas/WebhookEndpoint'
      required:
      - webhook_endpoint
      title: webhooks_update-webhook-endpoint_Response_200
    webhooks_retrieve-webhook-endpoint_Response_200:
      type: object
      properties:
        webhook_endpoint:
          $ref: '#/components/schemas/WebhookEndpoint'
      required:
      - webhook_endpoint
      title: webhooks_retrieve-webhook-endpoint_Response_200
    PaymentEnrichmentsInitiation:
      type: object
      properties:
        actor:
          $ref: '#/components/schemas/PaymentEnrichmentsInitiationActor'
          description: 'The party who initiated the payment.


            - `CUSTOMER`

            - `MERCHANT`'
      required:
      - actor
      description: If present, provides information about transaction initiation.
      title: PaymentEnrichmentsInitiation
    Grant:
      type: object
      properties:
        id:
          type: string
          description: 'Unique identifier for this grant issued by Cash App.


            Min length: `1`

            Max length: `256`'
        customer_id:
          type: string
          description: 'ID of the customer that approved this grant.


            Min length: `1`

            Max length: `128`'
        request_id:
          type: string
          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
    WebhookEventsGetParametersEventType:
      type: string
      enum:
      - customer.created
      - customer.deleted
      - customer.updated
      - customer_request.state.updated
      - dispute.created
      - dispute.state.updated
      - grant.created
      - grant.status.updated
      - merchant.status.updated
      - payment.status.updated
      - refund.status.updated
      title: WebhookEventsGetParametersEventType
    Address:
      type: object
      properties:
        address_line_1:
          type: string
          description: 'First line of the street address, typically including street number, street name, and / or building name.


            Min length: `1`

            Max length: `1024`'
        address_line_2:
          type: string
          description: 'Second line of the address, if any.


            Min length: `1`

            Max length: `1024`'
        locality:
          type: string
          description: 'City or township where the entity is located.


            Min length: `1`

            Max length: `1024`'
        country:
          $ref: '#/components/schemas/Country'
        postal_code:
          type: string
          description: 'ZIP or postal code.


            Min length: `1`

            Max length: `128`'
        administrative_district_level_1:
          type: string
          description: 'State or province.


            Min length: `1`

            Max length: `1024`'
      required:
      - country
      description: Where this entity is located
      title: Address
    OnFilePaymentAction:
      type: object
      properties:
        scope_id:
          type: string
          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`'
        type:
          $ref: '#/components/schemas/OnFilePaymentActionType'
          description: The type of the action (`ON_FILE_PAYMENT`).
        account_reference_id:
          type: string
          description: Identifier of the account or customer associated to the on file action.
      required:
      - scope_id
      - type
      description: Describes an intent for a client to store a customer's account, allowing a client to create payments or issue refunds for it on a recurring basis.
      title: OnFilePaymentAction
    PaymentEnrichmentsInitiationActor:
      type: string
      enum:
      - CUSTOMER
      - MERCHANT
      description: 'The party who initiated the payment.


        - `CUSTOMER`

        - `MERCHANT`'
      title: PaymentEnrichmentsInitiationActor
    webhooks_delete-webhook-endpoint_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: webhooks_delete-webhook-endpoint_Response_200
    DisputeSettlementWithholding:
      type: string
      enum:
      - NOT_WITHHELD
      - WITHHELD_ALREADY
      description: 'Indicates if the disputed amount has already been withheld from a settlement or not.


        Current values:


        - `NOT_WITHHELD`: The disputed amount has not yet been withheld in a settlement. It may impact future settlements if the dispute is "lost" by the merchant.


        - `WITHHELD_ALREADY`: The disputed amount was withheld in a prior settlement. This dispute will not impact future settlements.'
      title: DisputeSettlementWithholding
    RequestAuthFlowTriggers:
      type: object
      properties:
        qr_code_image_url:
          type: string
          format: uri
          description: 'Link to a QR code customers can scan with Cash App to authorize the given action, encoded as a PNG file.


            Min length: `8`

            Max length: `1024`'
        qr_code_svg_url:
          type: string
          format: uri
          description: 'Link to a QR code customers can scan with Cash App to authorize the given action, encoded as an SVG file.


            Min length: `8`

            Max length: `1024`'
        mobile_url:
          type: string
          format: uri
          description: 'If on an Android or iOS device, the URL to redirect customers to in order to authorize the given action.


            Min length: `8`

            Max length: `1024`'
        refreshes_at:
          type: string
          format: date-time
          description: When the QR code image URL will be rotated. Generally, it will rotate every ~20 seconds and become invalid after 30 seconds.
        desktop_url:
          type: string
          format: uri
          description: 'If on a desktop browser, the URL to redirect customers to in order to authorize the given action.


            Min length: `8`

            Max length: `1024`'
      required:
      - qr_code_image_url
      - qr_code_svg_url
      - mobile_url
      - refreshes_at
      description: 'While the request is `PENDING`, contains different methods that can be used to start

        the authorization flow in the Cash App mobile application. Its contents refresh each time

        the `refreshes_at` timestamp passes. When the

        data refreshes, you should update any buttons

        or QR codes referring to it immediately.


        After a request has been scanned (and is no

        longer in the `PENDING` status), this

        field will no longer be returned.'
      title: RequestAuthFlowTriggers
    PaymentEnrichments:
      type: object
      properties:
        initiation:
          $ref: '#/components/schemas/PaymentEnrichmentsInitiation'
          description: If present, provides information about transaction initiation.
        recurring_series_id:
          type: string
          description: 'If present, indicates that this payment is part of a recurring series of payments, such as a subscription.


            The value should contain a unique identifier for the recurring series that is constant across all of its payments, so it can be used to group them together.


            Min length: `1`

            Max length: `1024`'
        statement_descriptor:
          type: string
          description: 'If present, adds the descriptor as line item on to a customer''s payment receipt in their in-app Activity page.

            The descriptor will be present under the header "On statement as".


            Statement descriptor requirements vary by platform. If the input for this field exceeds the character limit, it will be truncated to the limit, then suffixed with an ellipsis (...).


            Min length: `1`

            Max length: `22`'
        restricted_categories:
          type: array
          items:
            $ref: '#/components/schemas/PaymentEnrichmentsRestrictedCategoriesItems'
          description: If present, indicates that this payment is associated with one or more restricted categories. Contact the Cash App Pay support team to use this field.
      description: "Describes optional fields beyond core payment information to supplement payment processing.\n\nEnrichments provide additional context about a payment, which can improve the overall payment experience including, but not limited to: \n  - Increased approval rates\n  - Enhanced transaction insights\n  - Better payment flows in Cash App"
      title: PaymentEnrichments
    RefundStatus:
      type: string
      enum:
      - AUTHORIZED
      - CAPTURED
      - VOIDED
      - DECLINED
      description: 'The step of the refund processing lifecycle that this refund is currently at.


        - `AUTHORIZED`

        - `CAPTURED`

        - `VOIDED`

        - `DECLINED`'
      title: RefundStatus
    MerchantStatus:
      type: string
      enum:
      - ACTIVE
      - RISK_DISABLED
      - COMPLIANCE_DISABLED
      - CLIENT_DISABLED
      - PENDING
      description: 'Whether or not this merchant can be used to accept payments or issue refunds.


        - `ACTIVE`: The merchant can accept payments or issue refunds.

        - `RISK_DISABLED`: Cash App Pay blocked this merchant d

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cash-app/refs/heads/main/openapi/cash-app-webhooks-api-openapi.yml