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

# Redeem cashback

> Pay cashback to one of your accounts or to a recipient. See [Redeeming cashback](/docs/v2/cashback/redeeming).

> [!NOTE]
>
> Requires a source IP on the legal entity's enabled IP allowlist.


## OpenAPI

````yaml /openapi-v2.json post /v2/cashback/redemptions
openapi: 3.1.0
info:
  title: Slash Public API V2
  description: >-
    Send money for a Slash legal entity. Every request uses an API key. Transfer
    creation returns a Transfer that links its resulting transactions.
  version: 0.0.1
servers:
  - url: https://api.slash.com
    description: production
security:
  - api_key: []
paths:
  /v2/cashback/redemptions:
    parameters:
      - name: x-legal-entity
        in: header
        required: true
        description: >-
          The legal entity to act on. Required on every request except `GET
          /v2/legal-entities`, which lists the ids a user API key can send here:
          those of every legal entity its user has access to.
        schema:
          type: string
          pattern: ^le_[a-zA-Z0-9]+$
    post:
      summary: Redeem cashback
      description: >-
        Pay cashback to one of your accounts or to a recipient. See [Redeeming
        cashback](/docs/v2/cashback/redeeming).
      parameters:
        - name: X-Idempotency-Key
          in: header
          required: true
          description: >-
            Unique caller-generated key for one create request. Once an
            authenticated, schema-valid request reaches the operation, the key
            is permanently consumed for that operation and legal entity whether
            the operation succeeds or fails. Reusing it in that scope returns
            `409` and never replays a response, unlike API v1, which replays the
            original response for a matching key.
          schema:
            type: string
            minLength: 1
            maxLength: 255
          example: invoice-1042-attempt-1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cashback-redemption-create'
            example:
              accountId: sa_group_2rj4l7hmrrrcv
              amount:
                amount: 25000
                currency: USD
              destination:
                type: account
                accountId: sa_group_3k8m2p9qwexyz
      responses:
        '200':
          description: The redemption.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cashback-redemption'
        '400':
          $ref: '#/components/responses/PublicApiV2Error400CashbackRedemptionsCreate'
        '401':
          $ref: '#/components/responses/PublicApiV2Error401Unauthorized'
        '403':
          $ref: >-
            #/components/responses/PublicApiV2Error403ForbiddenCashbackIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired
        '404':
          $ref: '#/components/responses/PublicApiV2Error404CashbackRedemptionsCreate'
        '409':
          $ref: '#/components/responses/PublicApiV2Error409CashbackRedemptionsCreate'
        '429':
          $ref: '#/components/responses/PublicApiV2RateLimited'
        '500':
          $ref: '#/components/responses/PublicApiV2Error500Internal'
      security:
        - api_key: []
components:
  schemas:
    cashback-redemption-create:
      title: CashbackRedemptionCreate
      type: object
      properties:
        accountId:
          type: string
          description: The account whose cashback to redeem, with the `sa_group_` prefix.
          example: sa_group_2rj4l7hmrrrcv
        amount:
          $ref: '#/components/schemas/UsdMoney'
          description: Up to the account's `available` cashback.
        destination:
          $ref: '#/components/schemas/cashback-redemption-destination'
      required:
        - accountId
        - amount
        - destination
      additionalProperties: false
    cashback-redemption:
      title: CashbackRedemption
      description: Cashback paid out of an account's balance.
      type: object
      properties:
        id:
          type: string
          description: Redemption id with the `transfer_intent_` prefix.
          example: transfer_intent_2rj4l7hmrrrcv
        status:
          type: string
          enum:
            - pending
            - completed
            - returned
            - failed
          description: >-
            `returned` when the recipient's bank sends the ACH back; the
            cashback goes back to the balance.
          example: completed
        accountId:
          type: string
          description: The account whose cashback was redeemed.
          example: sa_group_2rj4l7hmrrrcv
        amount:
          $ref: '#/components/schemas/Money'
        destination:
          description: Where the cashback went.
          oneOf:
            - $ref: '#/components/schemas/cashback-redemption-destination-account'
            - $ref: '#/components/schemas/cashback-redemption-destination-recipient'
            - $ref: >-
                #/components/schemas/cashback-redemption-destination-bank-account
          discriminator:
            propertyName: type
            mapping:
              account: '#/components/schemas/cashback-redemption-destination-account'
              recipient: '#/components/schemas/cashback-redemption-destination-recipient'
              bank_account: >-
                #/components/schemas/cashback-redemption-destination-bank-account
        createdAt:
          type: string
          format: date-time
          example: '2026-10-22T00:12:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: When the cashback was paid out.
          example: '2026-10-22T00:12:03.000Z'
      required:
        - id
        - status
        - accountId
        - amount
        - destination
        - createdAt
      additionalProperties: false
    UsdMoney:
      type: object
      description: A positive USD amount expressed in cents.
      properties:
        amount:
          type: integer
          minimum: 1
          description: Amount in cents. For example, `1250` represents USD 12.50.
          example: 1250
        currency:
          type: string
          enum:
            - USD
      required:
        - amount
        - currency
      additionalProperties: false
      title: UsdMoney
    cashback-redemption-destination:
      title: CashbackRedemptionDestination
      description: Where to send the cashback.
      oneOf:
        - $ref: '#/components/schemas/cashback-redemption-destination-account'
        - $ref: '#/components/schemas/cashback-redemption-destination-recipient'
      discriminator:
        propertyName: type
        mapping:
          account: '#/components/schemas/cashback-redemption-destination-account'
          recipient: '#/components/schemas/cashback-redemption-destination-recipient'
    Money:
      type: object
      description: A signed monetary amount expressed in minor units.
      properties:
        amount:
          type: integer
          description: Amount in the currency's minor units.
        currency:
          type: string
          pattern: ^[A-Z]{3}$
          description: Uppercase ISO 4217 currency code.
      required:
        - amount
        - currency
      additionalProperties: false
      title: Money
    cashback-redemption-destination-account:
      title: CashbackRedemptionDestinationAccount
      description: >-
        One of the legal entity's accounts. The cashback lands in its primary
        virtual account.
      type: object
      properties:
        type:
          type: string
          enum:
            - account
        accountId:
          type: string
          description: Account id with the `sa_group_` prefix.
          example: sa_group_3k8m2p9qwexyz
      required:
        - type
        - accountId
      additionalProperties: false
    cashback-redemption-destination-recipient:
      title: CashbackRedemptionDestinationRecipient
      description: A recipient's bank account, paid by ACH.
      type: object
      properties:
        type:
          type: string
          enum:
            - recipient
        destinationId:
          type: string
          description: >-
            Destination id with the `le_contact_destination_` prefix. See
            [Recipients and
            destinations](/docs/v2/concepts/recipients-and-destinations).
          example: le_contact_destination_2rj4l7hmrrrcv
      required:
        - type
        - destinationId
      additionalProperties: false
    cashback-redemption-destination-bank-account:
      title: CashbackRedemptionDestinationBankAccount
      description: >-
        A bank account linked in Slash. Cashback is redeemed to linked bank
        accounts in Slash.
      type: object
      properties:
        type:
          type: string
          enum:
            - bank_account
        bankAccountId:
          type: string
          description: Linked bank account id with the `ub_` prefix.
          example: ub_2rj4l7hmrrrcv
      required:
        - type
        - bankAccountId
      additionalProperties: false
    PublicApiV2ErrorCashbackDestinationNotAllowed:
      title: PublicApiV2ErrorCashbackDestinationNotAllowed
      description: >-
        The destination can’t receive this account’s cashback: a Global USD
        account’s cashback only goes back to itself, some accounts can’t receive
        cashback, and recipients must accept ACH.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - destination_not_allowed
            details:
              type: object
              properties:
                reason:
                  type: string
                  description: Why the destination was refused.
                  example: >-
                    A Global USD account’s cashback can only go back to that
                    account.
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              required:
                - reason
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInvalidRequestShape:
      title: PublicApiV2ErrorInvalidRequestShape
      description: >-
        The body, query, or headers failed validation, or a required header is
        missing. `details` has one entry per failing location, keyed by JSON
        pointer or header name.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - invalid_request
            details:
              type: object
              properties: {}
              additionalProperties:
                type: string
          required:
            - code
            - details
    PublicApiV2ErrorUnauthorized:
      title: PublicApiV2ErrorUnauthorized
      description: API key authentication is missing or invalid.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorForbidden:
      title: PublicApiV2ErrorForbidden
      description: >-
        The credential is not permitted to perform this action on the resource.
        When the resource is a field of the request, `details` names that
        `field` and the `id` it received.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorCashbackIpAllowlistRequired:
      title: PublicApiV2ErrorCashbackIpAllowlistRequired
      description: >-
        The legal entity does not enforce an IP allowlist. Redeeming cashback
        requires one, and the request must come from an allowlisted IP.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - ip_allowlist_required
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorForbiddenLegalEntity:
      title: PublicApiV2ErrorForbiddenLegalEntity
      description: The credential is not permitted to act for the selected legal entity.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorNotAvailable:
      title: PublicApiV2ErrorNotAvailable
      description: >-
        Public API v2 is not yet available. Use [Public API
        v1](https://docs.slash.com/introduction) in the meantime.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - not_available
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorUserApiKeyRequired:
      title: PublicApiV2ErrorUserApiKeyRequired
      description: >-
        The API key is scoped to a legal entity rather than a user. Every v2
        request needs a user API key, created under Settings → API keys in the
        Slash dashboard, together with the `x-legal-entity` header.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - user_api_key_required
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorNotFound:
      title: PublicApiV2ErrorNotFound
      description: >-
        No resource matches the identifier. When the identifier is a field of
        the request, `details` names that `field` and the `id` it received.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorCashbackAccountLocked:
      title: PublicApiV2ErrorCashbackAccountLocked
      description: A locked account can’t receive cashback.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - account_locked
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorCashbackUnavailable:
      title: PublicApiV2ErrorCashbackUnavailable
      description: >-
        The charge card is past due, so its cashback is withheld until the
        account is brought current.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - cashback_unavailable
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorDestinationArchived:
      title: PublicApiV2ErrorDestinationArchived
      description: The destination was archived and can no longer receive transfers.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - destination_archived
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorCashbackDestinationNotActive:
      title: PublicApiV2ErrorCashbackDestinationNotActive
      description: >-
        The recipient’s destination is pending review or disabled, as its
        `status` shows.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - destination_not_active
            details:
              type: object
              properties:
                status:
                  type: string
                  description: The destination’s status.
                  example: pending
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              required:
                - status
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInsufficientCashback:
      title: PublicApiV2ErrorInsufficientCashback
      description: >-
        The amount is more than the account’s available cashback. Nothing was
        redeemed; lower the amount and retry.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - insufficient_cashback
            details:
              type: object
              properties:
                available:
                  type: string
                  description: Cashback available to redeem.
                  example: $124.50
                requested:
                  type: string
                  description: Amount this redemption asked for.
                  example: $250.00
                field:
                  type: string
                  description: Dot path of the request field at fault.
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
              required:
                - available
                - requested
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInsufficientFunds:
      title: PublicApiV2ErrorInsufficientFunds
      description: >-
        The source account does not hold enough to cover this transfer. Nothing
        was moved; fund the account or lower the amount and retry.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - insufficient_funds
            details:
              type: object
              properties:
                available:
                  type: string
                  description: Balance available to spend from the source account.
                  example: $120.00
                requested:
                  type: string
                  description: Amount this transfer would have moved, fees included.
                  example: $500.00
              required:
                - available
                - requested
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorConflictIdempotencyKeyReused:
      title: PublicApiV2ErrorConflictIdempotencyKeyReused
      description: >-
        A consumed `X-Idempotency-Key` was reused; the original response is not
        replayed.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - conflict
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInternal:
      title: PublicApiV2ErrorInternal
      description: >-
        Slash could not complete the request. Quote `referenceId` when
        contacting Slash support.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - internal
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    Error:
      type: object
      properties:
        code:
          type: string
          description: >-
            Machine-readable reason; branch on this, not on `message`. Every
            code an endpoint can return is listed on its reference page; the
            ones shared by all endpoints are explained in the Errors guide.
          example: invalid_request
        message:
          type: string
          description: >-
            Human-readable explanation, safe to show to an operator. Wording may
            change; use `code` and `details` programmatically.
        details:
          type: object
          description: >-
            The values behind `message`, keyed per `code`. For example
            `insufficient_funds` carries `available` and `requested`;
            `invalid_request` from contract validation carries one entry per
            failing field, keyed by JSON pointer. Empty when the code has no
            variable data.
          additionalProperties:
            type: string
          example:
            available: $120.00
            requested: $500.00
        referenceId:
          type: string
          description: Unique id of this failure. Quote it when contacting Slash support.
          example: 4001-2alj5if
      required:
        - code
        - message
        - details
        - referenceId
      additionalProperties: false
      title: Error
  responses:
    PublicApiV2Error400CashbackRedemptionsCreate:
      description: >-
        - `destination_not_allowed` — The destination can’t receive this
        account’s cashback: a Global USD account’s cashback only goes back to
        itself, some accounts can’t receive cashback, and recipients must accept
        ACH.

        - `invalid_request (request shape)` — The body, query, or headers failed
        validation, or a required header is missing. `details` has one entry per
        failing location, keyed by JSON pointer or header name.
      content:
        application/json:
          schema:
            anyOf:
              - title: destination_not_allowed
                allOf:
                  - $ref: >-
                      #/components/schemas/PublicApiV2ErrorCashbackDestinationNotAllowed
              - title: invalid_request (request shape)
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorInvalidRequestShape'
          examples:
            destination_not_allowed_destination_account_id:
              summary: destination_not_allowed (destination.accountId)
              value:
                code: destination_not_allowed
                message: >-
                  A Global USD account’s cashback can only go back to that
                  account.
                details:
                  reason: >-
                    A Global USD account’s cashback can only go back to that
                    account.
                  field: destination.accountId
                  id: sa_group_2rj4l7hmrrrcv
                referenceId: 4001-2alj5if
            destination_not_allowed_destination_destination_id:
              summary: destination_not_allowed (destination.destinationId)
              value:
                code: destination_not_allowed
                message: >-
                  A Global USD account’s cashback can only go back to that
                  account.
                details:
                  reason: >-
                    A Global USD account’s cashback can only go back to that
                    account.
                  field: destination.destinationId
                  id: le_contact_destination_2rj4l7hmrrrcv
                referenceId: 4001-2alj5if
            invalid_request_request_shape:
              summary: invalid_request (request shape)
              value:
                code: invalid_request
                message: >-
                  Invalid `accountId`: Expected a valid ID beginning with
                  "sa_group_".
                details:
                  /accountId: Expected a valid ID beginning with "sa_group_".
                referenceId: 4001-2alj5if
    PublicApiV2Error401Unauthorized:
      description: '- `unauthorized` — API key authentication is missing or invalid.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiV2ErrorUnauthorized'
          examples:
            unauthorized:
              summary: unauthorized
              value:
                code: unauthorized
                message: API key authentication is missing or invalid.
                details: {}
                referenceId: 4011-2alj5if
    PublicApiV2Error403ForbiddenCashbackIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired:
      description: >-
        - `forbidden` — The credential is not permitted to perform this action
        on the resource. When the resource is a field of the request, `details`
        names that `field` and the `id` it received.

        - `ip_allowlist_required` — The legal entity does not enforce an IP
        allowlist. Redeeming cashback requires one, and the request must come
        from an allowlisted IP.

        - `forbidden (legal entity)` — The credential is not permitted to act
        for the selected legal entity.

        - `not_available` — Public API v2 is not yet available. Use [Public API
        v1](https://docs.slash.com/introduction) in the meantime.

        - `user_api_key_required` — The API key is scoped to a legal entity
        rather than a user. Every v2 request needs a user API key, created under
        Settings → API keys in the Slash dashboard, together with the
        `x-legal-entity` header.
      content:
        application/json:
          schema:
            anyOf:
              - title: forbidden
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorForbidden'
              - title: ip_allowlist_required
                allOf:
                  - $ref: >-
                      #/components/schemas/PublicApiV2ErrorCashbackIpAllowlistRequired
              - title: forbidden (legal entity)
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity'
              - title: not_available
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorNotAvailable'
              - title: user_api_key_required
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorUserApiKeyRequired'
          examples:
            forbidden:
              summary: forbidden
              value:
                code: forbidden
                message: This credential is not permitted to do that.
                details: {}
                referenceId: 4031-2alj5if
            ip_allowlist_required:
              summary: ip_allowlist_required
              value:
                code: ip_allowlist_required
                message: >-
                  Redeeming cashback requires the legal entity’s IP allowlist to
                  be on, and the request to come from an IP on it.
                details: {}
                referenceId: 4031-2alj5if
            forbidden_legal_entity:
              summary: forbidden (legal entity)
              value:
                code: forbidden
                message: This credential is not permitted to do that.
                details: {}
                referenceId: 4031-2alj5if
            not_available:
              summary: not_available
              value:
                code: not_available
                message: >-
                  Public API v2 is not yet available. Use Public API v1
                  (https://docs.slash.com/introduction) in the meantime.
                details: {}
                referenceId: 4031-2alj5if
            user_api_key_required:
              summary: user_api_key_required
              value:
                code: user_api_key_required
                message: >-
                  Public API v2 requires a user API key. Create one under
                  Settings → API keys in the Slash dashboard.
                details: {}
                referenceId: 4031-2alj5if
    PublicApiV2Error404CashbackRedemptionsCreate:
      description: >-
        - `not_found` — No resource matches the identifier. When the identifier
        is a field of the request, `details` names that `field` and the `id` it
        received.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiV2ErrorNotFound'
          examples:
            not_found_account_id:
              summary: not_found (accountId)
              value:
                code: not_found
                message: '`accountId` sa_group_2rj4l7hmrrrcv was not found.'
                details:
                  field: accountId
                  id: sa_group_2rj4l7hmrrrcv
                referenceId: 4041-2alj5if
            not_found_destination_account_id:
              summary: not_found (destination.accountId)
              value:
                code: not_found
                message: '`destination.accountId` sa_group_2rj4l7hmrrrcv was not found.'
                details:
                  field: destination.accountId
                  id: sa_group_2rj4l7hmrrrcv
                referenceId: 4041-2alj5if
            not_found_destination_destination_id:
              summary: not_found (destination.destinationId)
              value:
                code: not_found
                message: >-
                  `destination.destinationId`
                  le_contact_destination_2rj4l7hmrrrcv was not found.
                details:
                  field: destination.destinationId
                  id: le_contact_destination_2rj4l7hmrrrcv
                referenceId: 4041-2alj5if
    PublicApiV2Error409CashbackRedemptionsCreate:
      description: >-
        - `account_locked` — A locked account can’t receive cashback.

        - `cashback_unavailable` — The charge card is past due, so its cashback
        is withheld until the account is brought current.

        - `destination_archived` — The destination was archived and can no
        longer receive transfers.

        - `destination_not_active` — The recipient’s destination is pending
        review or disabled, as its `status` shows.

        - `insufficient_cashback` — The amount is more than the account’s
        available cashback. Nothing was redeemed; lower the amount and retry.

        - `insufficient_funds` — The source account does not hold enough to
        cover this transfer. Nothing was moved; fund the account or lower the
        amount and retry.

        - `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key`
        was reused; the original response is not replayed.
      content:
        application/json:
          schema:
            anyOf:
              - title: account_locked
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorCashbackAccountLocked'
              - title: cashback_unavailable
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorCashbackUnavailable'
              - title: destination_archived
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorDestinationArchived'
              - title: destination_not_active
                allOf:
                  - $ref: >-
                      #/components/schemas/PublicApiV2ErrorCashbackDestinationNotActive
              - title: insufficient_cashback
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorInsufficientCashback'
              - title: insufficient_funds
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorInsufficientFunds'
              - title: conflict (idempotency key reused)
                allOf:
                  - $ref: >-
                      #/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused
          examples:
            account_locked_destination_account_id:
              summary: account_locked (destination.accountId)
              value:
                code: account_locked
                message: The receiving account is locked.
                details:
                  field: destination.accountId
                  id: sa_group_2rj4l7hmrrrcv
                referenceId: 4091-2alj5if
            cashback_unavailable_account_id:
              summary: cashback_unavailable (accountId)
              value:
                code: cashback_unavailable
                message: >-
                  This account’s cashback can’t be redeemed while the account is
                  past due.
                details:
                  field: accountId
                  id: sa_group_2rj4l7hmrrrcv
                referenceId: 4091-2alj5if
            destination_archived_destination_destination_id:
              summary: destination_archived (destination.destinationId)
              value:
                code: destination_archived
                message: The destination is archived.
                details:
                  field: destination.destinationId
                  id: le_contact_destination_2rj4l7hmrrrcv
                referenceId: 4091-2alj5if
            destination_not_active_destination_destination_id:
              summary: destination_not_active (destination.destinationId)
              value:
                code: destination_not_active
                message: >-
                  The destination is pending; only active destinations can
                  receive cashback.
                details:
                  status: pending
                  field: destination.destinationId
                  id: le_contact_destination_2rj4l7hmrrrcv
                referenceId: 4091-2alj5if
            insufficient_cashback_amount:
              summary: insufficient_cashback (amount)
              value:
                code: insufficient_cashback
                message: >-
                  The account has $124.50 of cashback available but this
                  redemption needs $250.00.
                details:
                  available: $124.50
                  requested: $250.00
                  field: amount
                referenceId: 4091-2alj5if
            insufficient_funds:
              summary: insufficient_funds
              value:
                code: insufficient_funds
                message: >-
                  The source account has $120.00 available but this transfer
                  needs $500.00.
                details:
                  available: $120.00
                  requested: $500.00
                referenceId: 4091-2alj5if
            conflict_idempotency_key_reused:
              summary: conflict (idempotency key reused)
              value:
                code: conflict
                message: >-
                  This request has already been submitted (duplicate idempotency
                  key).
                details: {}
                referenceId: 4091-2alj5if
    PublicApiV2RateLimited:
      description: >-
        The request exceeded the applicable rate limit. The response body is
        plain text, not the error object; clients must not depend on its
        wording.
      content:
        text/plain:
          schema:
            type: string
          example: You are rate limited
    PublicApiV2Error500Internal:
      description: >-
        - `internal` — Slash could not complete the request. Quote `referenceId`
        when contacting Slash support.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiV2ErrorInternal'
          examples:
            internal:
              summary: internal
              value:
                code: internal
                message: >-
                  An unexpected error occurred. If this keeps happening, contact
                  Slash support with the reference id below.
                details: {}
                referenceId: 5001-2alj5if
  securitySchemes:
    api_key:
      type: apiKey
      name: X-API-Key
      in: header
      description: >-
        User API key authentication. Create a key under Settings → API keys in
        the Slash dashboard (https://app.slash.com/global-settings/api-keys) and
        send the `x-legal-entity` header naming the legal entity to act on with
        every request. Keys scoped to a legal entity are rejected with `403
        user_api_key_required`.

````

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