Silverflow Charge Actions API

Perform different actions on existing charges.

Business capability
Card Transaction Processing Management BC-1340.70

Operations 8

POST /charges/{chargeKey}/cancel Cancel Charge #
POST /charges/{chargeKey}/refund Refund Charge #
POST /charges/{chargeKey}/offlineRefund Offline-Refund Charge #
POST /charges/{chargeKey}/reverse Reverse Charge #
POST /charges/{chargeKey}/increment Increment Charge #
POST /charges/{chargeKey}/clear Manually Clear Charge #
GET /charges/{chargeKey}/actions/{actionKey} Get Action #
GET /charges/{chargeKey}/actions List Charge Actions #

Documentation

Specifications

Other Resources

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/silverflow-charge-actions-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

silverflow-charge-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '**This OpenAPI specification cannot be used for code generation.** Please reach out to your TAM regarding code generation using the API Spec.'
  version: 1.417.0
  title: Silverflow Charge Actions API
  contact:
    name: API Support
    email: support@silverflow.com
  license:
    name: Commercial
servers:
- url: https://eu-west-1.api.silverflow.com/v1
  description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
  description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
  description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
security:
- ApiKey: []
- BearerToken: []
tags:
- name: Charge Actions
  description: Perform different actions on existing charges.
paths:
  /charges/{chargeKey}/cancel:
    post:
      operationId: cancel
      summary: Cancel Charge
      description: 'This operation:

        1. Tries to cancel the clearing of the referenced charge. If this is not possible due to the clearing already being submitted, this endpoint will return an HTTP 409 error.

        2. If clearing has been cancelled, performs a reversal of the charge. This means that the authorization will be reversed.


        This operation is only possible for charges with `clearingMode` set to `auto`.


        Diners and ATM Charge support is EXPERIMENTAL.


        Requires one of the following permissions:

        * `charges:Cancel`

        * `charges:CancelOrRefund`'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Request a charge cancellation

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeCancel'
      responses:
        '201':
          description: The resulting reversal action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReversalAction'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/ClearingAlreadySubmittedErrorDetails'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
              examples:
                NonMatchingIdempotentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
                ClearingAlreadySubmittedErrorExample:
                  $ref: '#/components/examples/ClearingAlreadySubmittedExample'
                IncompatibleCardNetworkForOperation:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                UnexpectedIntentErrorDetails:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/refund:
    post:
      operationId: refund
      summary: Refund Charge
      description: 'Performs a refund of a charge.


        It is only possible to refund charges with the following `type.intent`:

        - `purchase`

        - `reservation`

        - `funding`


        Diners support is EXPERIMENTAL.


        Requires `charges:Refund` permission.


        For more information, see the guide page.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Request a charge refund

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeRefund'
      responses:
        '201':
          description: The resulting refund action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundAction'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/UnexpectedAuthorizationErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingStatusErrorDetails'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/UnexpectedMessageSystem'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
              examples:
                NonMatchingIdempontentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
                UnexpectedAuthorizationErrorExample:
                  $ref: '#/components/examples/UnexpectedAuthorizationErrorExample'
                UnexpectedClearingStatusErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingStatusErrorExample'
                UnexpectedIntentErrorExample:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                UnexpectedMessageSystemExample:
                  $ref: '#/components/examples/UnexpectedMessageSystemExample'
                IncompatibleCardNetworkForOperationErrorExample:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/offlineRefund:
    post:
      operationId: offlineRefund
      summary: Offline-Refund Charge
      description: 'Performs an offline-refund of an authorized charge. This refund will be cleared without issuer authorization.


        For American Express and Diners, this endpoint supports refunding charges for up to 6 months after their creation. When trying to refund a charge older than that, it will return an HTTP 409 error with type `/silverflow/problems/charge/invalid-operation`.


        Requires `charges:OfflineRefund` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Request an offline charge refund

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeOfflineRefundRequest'
            examples:
              partial:
                $ref: '#/components/examples/partial_Request'
      responses:
        '201':
          description: The resulting offline refund action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfflineRefundAction'
              examples:
                partial:
                  $ref: '#/components/examples/partial_Response'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/UnexpectedAuthorizationErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingStatusErrorDetails'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/UnexpectedMessageSystem'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
                - $ref: '#/components/schemas/InvalidCardErrorDetails'
                - $ref: '#/components/schemas/ChargeInvalidOperationErrorDetails'
              examples:
                NonMatchingIdempontentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
                UnexpectedAuthorizationErrorExample:
                  $ref: '#/components/examples/UnexpectedAuthorizationErrorExample'
                UnexpectedClearingStatusErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingStatusErrorExample'
                UnexpectedIntentErrorExample:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                UnexpectedMessageSystemExample:
                  $ref: '#/components/examples/UnexpectedMessageSystemExample'
                IncompatibleCardNetworkForOperationErrorExample:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
                InvalidCardErrorExample:
                  $ref: '#/components/examples/InvalidCardErrorExample'
                ChargeInvalidOperationErrorExample:
                  $ref: '#/components/examples/ChargeInvalidOperationErrorExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
        '503':
          $ref: '#/components/responses/TemporaryServerError'
  /charges/{chargeKey}/reverse:
    post:
      operationId: reverse
      summary: Reverse Charge
      description: 'Performs a reversal of a charge. This means that the authorization will be reversed.

        If no request body is provided, the full current charge amount will be reversed (taking into account reversals and increments).


        Note that there are currently no restrictions on the amount you can reverse in relation

        to previous clearings; this is the responsibility of the client.


        Diners and ATM Charge support is EXPERIMENTAL.


        Requires the `charges:Reverse` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Request a charge reversal.

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeReverse'
      responses:
        '201':
          description: The resulting reversal action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReversalAction'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/UnexpectedAuthorizationErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingModeErrorDetails'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/InvalidAmountErrorDetails'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
              examples:
                NonMatchingIdempontentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
                UnexpectedAuthorizationErrorExample:
                  $ref: '#/components/examples/UnexpectedAuthorizationErrorExample'
                UnexpectedClearingModeErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingModeErrorExample'
                UnexpectedIntentErrorExample:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                InvalidAmountErrorExample:
                  $ref: '#/components/examples/InvalidAmountErrorExample'
                IncompatibleCardNetworkForOperation:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/increment:
    post:
      operationId: increment
      summary: Increment Charge
      description: 'Performs an increment on a charge. Note that this is not allowed if the charge has

        previously been cleared (either partially or fully).


        Increment support for Diners is EXPERIMENTAL.


        For decreasing the authorization amount, please see Reverse charge.


        Requires the `charges:Increment` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Request a charge increment.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeIncrement'
      responses:
        '201':
          description: The resulting increment action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncrementAction'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingModeErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingStatusErrorDetails'
                - $ref: '#/components/schemas/UnexpectedAuthorizationErrorDetails'
                - $ref: '#/components/schemas/UnexpectedRefundStatusErrorDetails'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/InvalidAmountErrorDetails'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
              examples:
                NonMatchingIdempontentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
                UnexpectedClearingModeErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingModeErrorExample'
                UnexpectedClearingStatusErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingStatusErrorExample'
                UnexpectedAuthorizationErrorExample:
                  $ref: '#/components/examples/UnexpectedAuthorizationErrorExample'
                UnexpectedRefundStatusErrorExample:
                  $ref: '#/components/examples/UnexpectedRefundStatusErrorExample'
                UnexpectedIntentErrorExample:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                InvalidAmountErrorExample:
                  $ref: '#/components/examples/InvalidAmountErrorExample'
                IncompatibleCardNetworkForOperation:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/clear:
    post:
      operationId: triggerManualClearing
      summary: Manually Clear Charge
      description: 'Manually clear the charge after its creation. This endpoint also allows for (multiple) partial

        clearing, by providing an amount that is different from the original amount.


        Please note that there are currently no restrictions on the amount or the number of times you

        can clear a charge; this is the responsibility of the client.


        This endpoint supports clearing charges for up to 6 months after their creation. When trying to clear a charge older than that, it will return an HTTP 409 error with type `/silverflow/problems/charge/too-old`.


        Requires `charges:Clear` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        description: 'Clear the referenced charge with additional parameters.

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualClearing'
      responses:
        '201':
          description: The resulting clearing action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClearingAction'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ClearingCurrentZeroAmountErrorDetails'
                - $ref: '#/components/schemas/ChargeTooOldForClearingErrorDetails'
                - $ref: '#/components/schemas/UnexpectedAuthorizationErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingModeErrorDetails'
                - $ref: '#/components/schemas/UnexpectedClearingStatusErrorDetails'
                - $ref: '#/components/schemas/UnexpectedIntentErrorDetails'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
              examples:
                ClearingCurrentZeroAmountErrorExample:
                  $ref: '#/components/examples/ClearingCurrentZeroAmountErrorExample'
                ChargeTooOldForClearingErrorExample:
                  $ref: '#/components/examples/ChargeTooOldForClearingErrorExample'
                UnexpectedAuthorizationErrorExample:
                  $ref: '#/components/examples/UnexpectedAuthorizationErrorExample'
                UnexpectedClearingModeErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingModeErrorExample'
                UnexpectedClearingStatusErrorExample:
                  $ref: '#/components/examples/UnexpectedClearingStatusErrorExample'
                UnexpectedIntentErrorExample:
                  $ref: '#/components/examples/UnexpectedIntentErrorExample'
                IncompatibleCardNetworkForOperationErrorExample:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
                NonMatchingIdempontentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/actions/{actionKey}:
    get:
      operationId: getAction
      summary: Get Action
      description: 'Retrieve an action performed on a charge.


        Requires `charges:Get` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/actionKey'
      - $ref: '#/components/parameters/chargeKey'
      responses:
        '200':
          description: The action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
  /charges/{chargeKey}/actions:
    get:
      operationId: getActions
      summary: List Charge Actions
      description: 'This endpoint returns a list of actions performed on a charge.


        Requires `charges:Get` permission.'
      tags:
      - Charge Actions
      parameters:
      - $ref: '#/components/parameters/chargeKey'
      - $ref: '#/components/parameters/components-parameters-offsetToken'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A list of actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsPage'
        '400':
          $ref: '#/components/responses/responses-InvalidInputError'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '404':
          $ref: '#/components/responses/EntityNotFoundError'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
components:
  schemas:
    ReversalAction:
      type: object
      description: Action for reversing a charge
      required:
      - key
      - chargeKey
      - created
      - version
      - type
      - status
      - replacementAmount
      - authorizationResponse
      properties:
        type:
          type: string
          enum:
          - reversal
        key:
          $ref: '#/components/schemas/actionKey'
        chargeKey:
          $ref: '#/components/schemas/chargeKey'
        reference:
          $ref: '#/components/schemas/actionReference'
        replacementAmount:
          $ref: '#/components/schemas/common_Amount'
        status:
          type: object
          required:
          - authorization
          properties:
            authorization:
              type: string
              enum:
              - approved
              - declined
        authorizationResponse:
          $ref: '#/components/schemas/authorizationResponseForReversalAction'
        created:
          $ref: '#/components/schemas/openapi_components-schemas-created'
        lastModified:
          $ref: '#/components/schemas/components-schemas-lastModified'
        version:
          $ref: '#/components/schemas/schemas-version'
    NonMatchingIdempotentRequestErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/idempotency/request-mismatch
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Idempotent Request Mismatch
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    UnexpectedClearingModeErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/charge/unexpected-clearing-mode
        title:
          $ref: '#/components/schemas/errorTitle'
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    openapi_components-schemas-InvalidInputErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      - validationErrors
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/invalid-input
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Invalid Input
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 400
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
          description: A list of validation errors.
    ActionsPage:
      allOf:
      - $ref: '#/components/schemas/PageWithMoreItems'
      - description: List of actions
      - type: object
        required:
        - actions
        properties:
          actions:
            type: array
            items:
              $ref: '#/components/schemas/Action'
    ChargeReverse:
      type: object
      additionalProperties: false
      description: 'Reverse a Charge.

        '
      properties:
        replacementAmount:
          type: integer
          format: int64
          minimum: 0
          maximum: 999999999999
          default: 0
          description: 'The amount to replace the original authorization with. Note that this is not the amount to be reversed.

            If zero, the full current charge amount will be reversed. If a non-zero amount is

            provided, a partial reversal will be done.


            When reversing Visa POS transactions with cashback, this value must be 0.

            '
          example: 2599
        reference:
          $ref: '#/components/schemas/actionReference'
    refundChargeKey:
      description: 'Charge key of the created refund charge. Included only when the refund was

        created with `createRefundCharge = true`.

        '
      type: string
      pattern: ^chg-[a-zA-Z0-9]+$
      minLength: 5
      maxLength: 120
      example: chg-1e1dAHhgstYTUhlphPzZ
    ChargeTooOldForClearingErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/charges/invalid-charge
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Invalid Charge
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    errorStatus:
      type: integer
      format: int32
      description: 'The HTTP status code generated by the origin server for this occurrence

        of the problem.

        '
    schemas-EntityNotFoundErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/entity-not-found
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Not Found
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 404
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    authorizationIsoFieldsDiscoverForAuthorizationAndRefundActions:
      allOf:
      - $ref: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator'
      - type: object
        required:
        - networkReferenceId
        properties:
          networkReferenceId:
            type: string
            description: Contents field 48, position 11-25 <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>
    EnhancedDataLineItem:
      type: object
      required:
      - commodityCode
      - description
      - discountAmount
      - productCode
      - quantity
      - unitOfMeasure
      - unitPrice
      - taxAmount
      - taxRate
      - totalAmount
      properties:
        commodityCode:
          type: string
          minLength: 1
          maxLength: 12
          description: Commodity classification code (e.g. UNSPSC, NAICS). Required for Visa Fleet transactions.
        description:
   

# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/silverflow/refs/heads/main/openapi/silverflow-charge-actions-api-openapi.yml