openapi: 3.2.0 info: title: Silverflow Charge Actions API version: 1.417.0 contact: name: API Support email: support@silverflow.com license: name: Commercial description: 'Operations tagged Charge Actions across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.' 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' 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 /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](https://docs.silverflow.com/guides/charge-actions#tag/Refunds). ' 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' 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 /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' 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 /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' 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 /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 \npreviously been cleared (either partially or fully).\n\nIncrement support for Diners is EXPERIMENTAL.\n\nFor decreasing the authorization amount, please see [Reverse charge](#operation/reverse).\n\nRequires the `charges:Increment` permission.\n" 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' 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 /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\nclearing, by providing an amount that is different from the original amount. \n\nPlease note that there are currently no restrictions on the amount or the number of times you\ncan clear a charge; this is the responsibility of the client.\n\nThis 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`.\n\nRequires `charges:Clear` permission.\n" 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' 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 /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' 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 /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' 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 components: schemas: authorizationIsoFieldsMastercardWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - mastercard - $ref: '#/components/schemas/commonIsoFields' InvalidAmountErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/invalid-amount title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' authorizationIsoFieldsVisaForAuthorizationAndRefundActions: allOf: - $ref: '#/components/schemas/authorizationIsoFieldsVisaWithDiscriminator' - type: object required: - transactionIdentifier properties: transactionIdentifier: type: string description: Contents of field 62, subfield 2 EXPERIMENTAL example: '238210000026090' createRefundCharge: type: boolean default: false description: 'When set to `true`, a full refund charge will be created along with the refund action. **On August 23, 2026, the default value of the field will be set to true. Simultaneously, the field will be deprecated and will be removed after another 6 months.** ' isoFieldResponseCodeDescription: type: string description: The description of the `responseCode` example: Approved components-schemas-offsetToken: type: string pattern: ^[a-zA-Z0-9%]+$ minLength: 1 maxLength: 2048 example: LUtyr0s918rNZ5WuWDYh5FNzqAli6HqKHpPDatcfdsaVlibrlO49BKcOdz9YccUOtDSoyLtc4kAiOLkmjSW5zLa8OCnOXXBRja2rDYh5FNzqAli6HqKHpPDatcfdsaVlibrlO49BKcOdz9Yc authorizationIsoFieldsAmericanExpressWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - american-express - $ref: '#/components/schemas/commonIsoFields' authorizationIsoFieldsMastercardForAuthorizationAndRefundActions: allOf: - $ref: '#/components/schemas/authorizationIsoFieldsMastercardWithDiscriminator' - type: object required: - traceId properties: traceId: type: string description: 'The trace ID can be used to refer to the original authorization for subsequent transactions (e.g., reversals, MITs). EXPERIMENTAL The value is constructed from the contents of field 63, subfield 1, field 63, subfield 2, and field 15. The value intentionally ends with two spaces. ' components-schemas-CountryCodeAlpha3: type: object required: - alpha3 additionalProperties: false properties: alpha3: $ref: '#/components/schemas/schemas-countryCodeAlpha3' ClearingAction: type: object description: Action for clearing a charge required: - key - chargeKey - created - version - type - amount properties: type: type: string enum: - clearing key: $ref: '#/components/schemas/actionKey' chargeKey: $ref: '#/components/schemas/chargeKey' reference: $ref: '#/components/schemas/actionReference' amount: allOf: - description: The amount to clear - $ref: '#/components/schemas/common_Amount' enhancedData: $ref: '#/components/schemas/enhancedData' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' openapi_components-schemas-created: type: string description: The date and time this object was created format: iso-8601-date-time readOnly: true schemas-countryCodeAlpha2: type: string pattern: ^[A-Z]+$ minLength: 2 maxLength: 2 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: NL isoFieldResponseCode: type: string description: Contents of field 39 example: '00' UnexpectedAuthorizationErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/unexpected-authorization-status title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Unexpected Authorization Status status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' ValidationError: type: object required: - path - message properties: path: type: string description: A relative path to the error location within the request body. errorCode: type: string description: A code that identifies the error. message: type: string description: A brief description of the validation error. schemas-countryCodeNumeric: type: string pattern: ^[0-9]+$ minLength: 3 maxLength: 3 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: '528' UnexpectedClearingStatusErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/unexpected-clearing-status 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-postalCode: type: string pattern: ^[A-Z0-9]+( [A-Z0-9]*)?$ minLength: 1 maxLength: 10 description: 'The postal code of the address, allowing a single separating space. ' example: 1234BC authorizationResponseForAuthorizationAndRefundActions: type: object description: 'Network-specific details from the authorization response. Actions created before 2023-10-07 will have the `network` property and other remaining properties as `unknown`. ' discriminator: propertyName: network mapping: american-express: '#/components/schemas/authorizationIsoFieldsAmericanExpressForAuthorizationAndRefundActions' bancontact: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' diners: '#/components/schemas/authorizationIsoFieldsDinersForAuthorizationAndRefundActions' discover: '#/components/schemas/authorizationIsoFieldsDiscoverForAuthorizationAndRefundActions' mastercard: '#/components/schemas/authorizationIsoFieldsMastercardForAuthorizationAndRefundActions' visa: '#/components/schemas/authorizationIsoFieldsVisaForAuthorizationAndRefundActions' unknown: '#/components/schemas/authorizationIsoFieldsUnknown' oneOf: - $ref: '#/components/schemas/authorizationIsoFieldsAmericanExpressForAuthorizationAndRefundActions' - $ref: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsDinersForAuthorizationAndRefundActions' - $ref: '#/components/schemas/authorizationIsoFieldsDiscoverForAuthorizationAndRefundActions' - $ref: '#/components/schemas/authorizationIsoFieldsMastercardForAuthorizationAndRefundActions' - $ref: '#/components/schemas/authorizationIsoFieldsVisaForAuthorizationAndRefundActions' - $ref: '#/components/schemas/authorizationIsoFieldsUnknown' components-schemas-amountValue: type: integer format: int64 minimum: 0 maximum: 999999999999 description: 'The amount in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units. Some have three or zero. ' example: 2599 schemas-version: type: integer description: The version of this object format: int64 example: 1 readOnly: true 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' components-schemas-lastModified: type: string description: The date and time this object was last modified format: iso-8601-date-time readOnly: true ChargeInvalidOperationErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/invalid-operation title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Invalid Operation on Charge status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' 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' Action: description: An action performed on a charge type: object discriminator: propertyName: type mapping: authorization: '#/components/schemas/AuthorizationAction' reversal: '#/components/schemas/ReversalAction' refund: '#/components/schemas/RefundAction' offline-refund: '#/components/schemas/OfflineRefundAction' clearing: '#/components/schemas/ClearingAction' increment: '#/components/schemas/IncrementAction' oneOf: - $ref: '#/components/schemas/AuthorizationAction' - $ref: '#/components/schemas/ReversalAction' - $ref: '#/components/schemas/RefundAction' - $ref: '#/components/schemas/OfflineRefundAction' - $ref: '#/components/schemas/ClearingAction' - $ref: '#/components/schemas/IncrementAction' 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' TemporaryServerErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/temporary-server-error title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Temporary Server Error status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 503 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' errorTitle: type: string description: 'A short, human-readable summary of the problem type. It does not change from occurrence to occurrence of the error. ' authorizationResponseForIncrementAction: type: object description: 'Network-specific details from the authorization response. Actions created before 2023-10-07 will have the `network` property and other remaining properties as `unknown`. ' discriminator: propertyName: network mapping: bancontact: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' diners: '#/components/schemas/authorizationIsoFieldsDinersWithDiscriminator' discover: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator' mastercard: '#/components/schemas/authorizationIsoFieldsMastercardWithDiscriminator' visa: '#/components/schemas/authorizationIsoFieldsVisaWithDiscriminator' unknown: '#/components/schemas/authorizationIsoFieldsUnknown' oneOf: - $ref: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsDinersWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsMastercardWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsVisaWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsUnknown' authorizationIsoFieldsAmericanExpressForAuthorizationAndRefundActions: allOf: - $ref: '#/components/schemas/authorizationIsoFieldsAmericanExpressWithDiscriminator' - type: object required: - acquirerReferenceData properties: acquirerReferenceData: type: string description: Contents of field 31. EXPERIMENTAL UnexpectedIntentErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/unexpected-intent title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' EnhancedDataShippingAddress: type: object description: Must be provided if shipment is involved and captured on the invoice properties: postalCode: allOf: - description: Shipping postal code. - $ref: '#/components/schemas/openapi_components-schemas-postalCode' ManualClearing: type: object additionalProperties: false properties: amount: type: integer format: int64 minimum: 1 maximum: 999999999999 description: 'The amount to clear. If omitted, the full amount of the charge will be cleared. The amount should be in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units; some have three or zero. ' example: 900 closeCharge: type: boolean description: 'Indicates if the series of clearings for this transaction ends after the current clearing. Only relevant when doing partial clearing. ' clearAfter: $ref: '#/components/schemas/clearAfter' reference: $ref: '#/components/schemas/actionReference' enhancedData: $ref: '#/components/schemas/enhancedDataInput' schemas-CountryCode: type: object required: - alpha3 - alpha2 - numeric properties: alpha3: $ref: '#/components/schemas/schemas-countryCodeAlpha3' alpha2: $ref: '#/components/schemas/schemas-countryCodeAlpha2' numeric: $ref: '#/components/schemas/schemas-countryCodeNumeric' clearAfter: type: string description: 'If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created. ' format: iso-8601-date-time AuthorizationAction: type: object description: Action for authorizing a charge required: - key - chargeKey - created - version - type - status - amount - authorizationResponse properties: type: type: string enum: - authorization key: $ref: '#/components/schemas/actionKey' chargeKey: $ref: '#/components/schemas/chargeKey' reference: $ref: '#/components/schemas/actionReference' amount: allOf: - description: The amount encoded as an object with a `value` in minor units and a `currency` code. In case of a (partially) approved charge, this is the authorized amount. - $ref: '#/components/schemas/common_Amount' status: type: object required: - authorization properties: authorization: type: string enum: - approved - approved-partial - approved-purchase-amount-only - declined authorizationResponse: $ref: '#/components/schemas/authorizationResponseForAuthorizationAndRefundActions' enhancedData: $ref: '#/components/schemas/enhancedData' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' components-schemas-CountryCodeNumeric: type: object required: - numeric additionalProperties: false properties: numeric: $ref: '#/components/schemas/schemas-countryCodeNumeric' OfflineRefundAction: type: object description: Action for offline refunding a charge required: - type - key - chargeKey - amount - created - version properties: type: type: string enum: - offline-refund key: $ref: '#/components/schemas/actionKey' chargeKey: $ref: '#/components/schemas/chargeKey' reference: $ref: '#/components/schemas/actionReference' amount: allOf: - description: The amount that was refunded. - $ref: '#/components/schemas/common_Amount' clearAfter: $ref: '#/components/schemas/clearAfter' initialRefundReferences: description: Network-specific identifiers from the original authorization. Currently only supported for Mastercard. oneOf: - $ref: '#/components/schemas/OfflineRefundInitialTransactionReferences' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' 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' EnhancedDataDestinationAddress: type: object description: Must be provided if shipment is involved and captured on the invoice properties: countryCode: allOf: - description: Destination country code. - $ref: '#/components/schemas/schemas-CountryCode' postalCode: allOf: - description: Destination postal code. - $ref: '#/components/schemas/openapi_components-schemas-postalCode' chargeKey: description: Uniquely identifies a charge. type: string pattern: ^chg-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: chg-1e1dAHhgstYTUhlphPzZ ForbiddenErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/forbidden title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Forbidden status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 403 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' ClearingAlreadySubmittedErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/clearing-already-submitted title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Clearing Already Submitted status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' authorizationIsoFieldsDiscoverWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - discover - $ref: '#/components/schemas/commonIsoFields' ActionsPage: allOf: - $ref: '#/components/schemas/PageWithMoreItems' - description: List of actions - type: object required: - actions properties: actions: type: array items: $ref: '#/components/schemas/Action' 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' 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' IdempotentRequestIsStillBeingProcessedErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/idempotency/request-is-still-being-processed title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Request Is Still Being Processed status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' actionKey: description: Uniquely identifies an action type: string pattern: ^act-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: act-1e1dA2fgs1YTUhlhyPOp 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 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: type: string minLength: 2 maxLength: 26 description: Product or service description. discountAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Discount applied to this line item in minor currency units. productCode: type: string minLength: 1 maxLength: 12 description: Product code for the item. quantity: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Quantity of items purchased. Includes 4 implied decimal places (e.g. 1.23 kg = 12300) unitOfMeasure: type: string minLength: 1 maxLength: 12 description: The unit of measurement for an item. unitPrice: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Price per unit. Includes 4 implied decimal places (e.g. 1.23$ = 12300). taxAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Tax amount for the line item in minor currency units. taxRate: type: integer format: int64 minimum: 0 maximum: 10000 description: Tax rate percentage for the line item. Includes 2 implied decimal places (e.g. 1.23% = 123) totalAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount for the line item in minor currency units. UnauthorizedErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/authentication-required title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Authentication Required status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 401 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' ChargeIncrement: type: object additionalProperties: false description: 'Increment a charge. ' required: - replacementAmount properties: replacementAmount: $ref: '#/components/schemas/IncrementReplacementAmount' reference: $ref: '#/components/schemas/actionReference' OfflineRefundInitialTransactionReferences: title: Mastercard type: object required: - initialTraceId additionalProperties: false properties: initialTraceId: type: string description: The Trace ID from the original declined online refund authorization response. minLength: 1 maxLength: 15 example: MCGATSGHX1112 ChargeOfflineRefundRequest: type: object additionalProperties: false description: 'Offline-refund a Charge ' properties: amount: $ref: '#/components/schemas/RefundAmount' reference: $ref: '#/components/schemas/actionReference' clearAfter: $ref: '#/components/schemas/clearAfter' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' initialRefundReferences: description: Network-specific identifiers from the original authorization. Currently only supported for Mastercard. oneOf: - $ref: '#/components/schemas/OfflineRefundInitialTransactionReferences' authorizationIsoFieldsDinersForAuthorizationAndRefundActions: allOf: - $ref: '#/components/schemas/authorizationIsoFieldsDinersWithDiscriminator' - type: object required: - networkReferenceId properties: networkReferenceId: type: string description: Contents field 123 EXPERIMENTAL refundClearingMode: type: string enum: - auto - manual description: 'The clearing method for the refund charge. - `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp. - `manual`: The charge must be manually cleared later. **Only supported if `createRefundCharge` is set to `true`. ' default: auto ChargeCancel: type: object description: Request to cancel the referenced charge. additionalProperties: false properties: reference: $ref: '#/components/schemas/actionReference' IncrementReplacementAmount: type: integer format: int64 minimum: 1 maximum: 999999999999 description: 'The new total authorized amount (initial amount plus increment). ' example: 2599 authorizationIsoFieldsDiscoverForAuthorizationAndRefundActions: allOf: - $ref: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator' - type: object required: - networkReferenceId properties: networkReferenceId: type: string description: Contents field 48, position 11-25 EXPERIMENTAL ClearingCurrentZeroAmountErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/cannot-clear-zero-amount title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Cannot Clear Zero Amount status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' InternalServerErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/internal-server-error title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Internal Server Error status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 500 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' IncompatibleCardNetworkForOperation: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/incompatible-card-network-for-operation title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Incompatible Network For Operation 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. UnexpectedRefundStatusErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/unexpected-refunds-status title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' authorizationIsoFieldsDinersWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - diners - $ref: '#/components/schemas/commonIsoFields' UnexpectedMessageSystem: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/bin/unexpected-message-system title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Unexpected Message System status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' errorInstance: type: string description: 'A reference that identifies the specific occurrence of the error. The instance is unique for every error. ' schemas-countryCodeAlpha3: type: string pattern: ^[A-Z]+$ minLength: 3 maxLength: 3 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: NLD errorStatus: type: integer format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' components-schemas-CountryCodeAlpha2: type: object required: - alpha2 additionalProperties: false properties: alpha2: $ref: '#/components/schemas/schemas-countryCodeAlpha2' authorizationIsoFieldsUnknown: type: object required: - network - responseCode - responseCodeDescription properties: network: type: string enum: - unknown responseCode: type: string enum: - unknown responseCodeDescription: type: string enum: - unknown InvalidCardErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/card/invalid title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Invalid Card status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' common_Amount: type: object required: - value - currency additionalProperties: false description: 'The amount encoded as an object with a `value` in minor units and a `currency` code. ' properties: value: $ref: '#/components/schemas/components-schemas-amountValue' currency: $ref: '#/components/schemas/common_currencyCode' actionReference: description: Action reference assigned by the agent. Must not start with "act-". type: string pattern: ^(?!act-)[a-zA-Z0-9-_\.]+$ minLength: 1 maxLength: 120 example: MyRef PageWithMoreItems: type: object properties: moreItems: type: boolean offsetToken: $ref: '#/components/schemas/components-schemas-offsetToken' authorizationIsoFieldsVisaWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - visa - $ref: '#/components/schemas/commonIsoFields' TooManyRequestsErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/too-many-requests title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Too Many Requests status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 429 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' enhancedData: type: object additionalProperties: false description: An optional object for submitting Level 2 (tax and order references) and Level 3 (granular line-item details) payment data. Providing this data can qualify transactions for reduced interchange rates. VISA MASTERCARD EXPERIMENTAL required: - taxAmount properties: taxAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of Sales Tax or Value Added Tax (VAT) collected in minor units. It is set to 0 if no tax is collected. example: 300 customerCode: type: string minLength: 1 maxLength: 25 description: A code used to identify the customer or consumer. example: REF12345 customerTaxId: type: string minLength: 1 maxLength: 13 description: Customer's tax registration or VAT number. destinationAddress: $ref: '#/components/schemas/EnhancedDataDestinationAddress' discountAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of discount at invoice level in minor units. Excludes any discount amounts defined at line item level. example: 50 invoiceNumber: type: string minLength: 1 maxLength: 25 description: Invoice number for the transaction. orderDate: type: string format: date description: Date the order was placed. example: '2026-05-01' purchaseOrderNumber: type: string minLength: 1 maxLength: 13 description: Purchase order number for the transaction. shippingAddress: $ref: '#/components/schemas/EnhancedDataShippingAddress' timeOfPurchase: type: string pattern: ^([0-1][0-9]|2[0-3])[0-5][0-9]$ minLength: 4 maxLength: 4 description: Local transaction time in HHMM format. example: '1402' lineItems: type: array minItems: 1 maxItems: 100 description: Array of line items. items: $ref: '#/components/schemas/EnhancedDataLineItem' IncrementAction: type: object description: Action for incrementing a charge required: - key - chargeKey - type - replacementAmount - status - authorizationResponse - created - version properties: type: type: string enum: - increment 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/authorizationResponseForIncrementAction' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' errorDetail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' RefundAmount: type: integer format: int64 minimum: 1 maximum: 999999999999 description: 'The refund amount. If not specified the full authorized charge amount will be refunded. ' example: 2599 commonIsoFields: type: object required: - responseCode - responseCodeDescription properties: responseCode: $ref: '#/components/schemas/isoFieldResponseCode' responseCodeDescription: $ref: '#/components/schemas/isoFieldResponseCodeDescription' schemas-DynamicDescriptor: type: object minProperties: 1 additionalProperties: false description: 'Field supports the merchant customizing the DBA name and city on a per-transaction basis, to allow the cardholder to recognize the business name and city on their card or bank statement. ' properties: merchantName: type: string pattern: ^[a-zA-Z0-9-\.!\*=_ ]+$ description: Recognizable business name that will appear on the customer's card or bank statement. example: Acme Inc. minLength: 1 maxLength: 22 merchantCity: type: string description: City from which the transaction originated example: Amsterdam pattern: ^[a-zA-Z0-9-\.!\*=_ ]+$ minLength: 1 maxLength: 13 common_currencyCode: type: string enum: - AED - AFN - ALL - AMD - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SOS - SRD - SSP - STN - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VES - VND - VUV - WST - XAF - XCD - XCG - XOF - XPF - YER - ZAR - ZMW - ZWL description: An alphabetic ISO-4217 currency code. externalDocs: description: Find more info here. url: https://www.iso.org/iso-4217-currency-codes.html example: EUR EnhancedDataDestinationAddressInput: type: object description: Must be provided if shipment is involved and captured on the invoice properties: countryCode: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' postalCode: allOf: - description: Destination postal code. - $ref: '#/components/schemas/openapi_components-schemas-postalCode' errorType: type: string description: 'A relative URI reference, this property can be used to perform automated error handling. ' RefundAction: type: object description: Action for refunding a charge required: - key - chargeKey - created - version - type - status - amount - authorizationResponse properties: type: type: string enum: - refund key: $ref: '#/components/schemas/actionKey' chargeKey: $ref: '#/components/schemas/chargeKey' refundChargeKey: $ref: '#/components/schemas/refundChargeKey' reference: $ref: '#/components/schemas/actionReference' amount: $ref: '#/components/schemas/common_Amount' status: type: object required: - authorization properties: authorization: type: string enum: - approved - declined clearAfter: $ref: '#/components/schemas/clearAfter' authorizationResponse: $ref: '#/components/schemas/authorizationResponseForAuthorizationAndRefundActions' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' authorizationIsoFieldsBancontactWithDiscriminator: allOf: - type: object required: - network properties: network: type: string enum: - bancontact - $ref: '#/components/schemas/commonIsoFields' authorizationResponseForReversalAction: type: object description: 'Network-specific details from the authorization response. Actions created before 2023-10-07 will have the `network` property and other remaining properties as `unknown`. ' discriminator: propertyName: network mapping: american-express: '#/components/schemas/authorizationIsoFieldsAmericanExpressWithDiscriminator' bancontact: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' diners: '#/components/schemas/authorizationIsoFieldsDinersWithDiscriminator' discover: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator' mastercard: '#/components/schemas/authorizationIsoFieldsMastercardWithDiscriminator' visa: '#/components/schemas/authorizationIsoFieldsVisaWithDiscriminator' unknown: '#/components/schemas/authorizationIsoFieldsUnknown' oneOf: - $ref: '#/components/schemas/authorizationIsoFieldsAmericanExpressWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsBancontactWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsDinersWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsDiscoverWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsMastercardWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsVisaWithDiscriminator' - $ref: '#/components/schemas/authorizationIsoFieldsUnknown' enhancedDataInput: type: object additionalProperties: false description: An optional object for submitting Level 2 (tax and order references) and Level 3 (granular line-item details) payment data. Providing this data can qualify transactions for reduced interchange rates. VISA MASTERCARD EXPERIMENTAL required: - taxAmount properties: taxAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of Sales Tax or Value Added Tax (VAT) collected in minor units. Enter 0 if no tax is collected. example: 300 customerCode: type: string minLength: 1 maxLength: 25 description: A code used to identify the customer or consumer. example: REF12345 customerTaxId: type: string minLength: 1 maxLength: 13 description: Customer's tax registration or VAT number. destinationAddress: $ref: '#/components/schemas/EnhancedDataDestinationAddressInput' discountAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of discount at invoice level in minor units. Excludes any discount amounts defined at line item level. example: 50 invoiceNumber: type: string minLength: 1 maxLength: 25 description: Invoice number for the transaction. orderDate: type: string format: date description: Date the order was placed. example: '2026-05-01' purchaseOrderNumber: type: string minLength: 1 maxLength: 13 description: Purchase order number for the transaction. shippingAddress: $ref: '#/components/schemas/EnhancedDataShippingAddress' timeOfPurchase: type: string pattern: ^([0-1][0-9]|2[0-3])[0-5][0-9]$ minLength: 4 maxLength: 4 description: Local transaction time in HHMM format. example: '1402' lineItems: type: array minItems: 1 maxItems: 100 description: Array of line items. items: $ref: '#/components/schemas/EnhancedDataLineItem' ChargeRefund: type: object additionalProperties: false description: 'Refund a Charge ' properties: refundAmount: $ref: '#/components/schemas/RefundAmount' reference: $ref: '#/components/schemas/actionReference' clearAfter: $ref: '#/components/schemas/clearAfter' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' createRefundCharge: $ref: '#/components/schemas/createRefundCharge' clearingMode: $ref: '#/components/schemas/refundClearingMode' examples: components-examples-InternalServerErrorExample: value: type: /silverflow/problems/internal-server-error title: Internal Server Error status: 500 detail: The server encountered an unexpected condition. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 partial_Response: summary: Partial refund value: type: offline-refund key: act-1e1dA2fgs1YTUhlhyPOp chargeKey: chg-1e1dAHhgstYTUhlphPzZ reference: my-refund-123 amount: value: 3218 currency: EUR clearAfter: '2023-11-21T14:15:22Z' created: '2023-11-20T10:03:01Z' version: 1 ClearingAlreadySubmittedExample: value: type: /silverflow/problems/charge/clearing-already-submitted title: Clearing Already Submitted status: 409 detail: Cannot cancel the referenced charge because the clearing has already been submitted. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 UnexpectedClearingModeErrorExample: value: type: /silverflow/problems/charge/unexpected-clearing-mode title: Cannot cancel or refund charge with unexpected clearingMode. status: 409 detail: The clearingMode is 'manual', but expected 'auto'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e examples-AuthenticationRequiredExample: value: type: /silverflow/problems/authentication-required title: Authentication Required status: 401 detail: Authentication Required instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442 TemporaryServerErrorExample: value: type: /silverflow/problems/temporary-server-error title: Temporary Server Error status: 503 detail: Temporary Server Error. Please retry later. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e UnexpectedIntentErrorExample: value: type: /silverflow/problems/charge/unexpected-intent title: Cannot increment charge with unexpected type.intent. status: 409 detail: The type.intent is 'refund', but expected 'reservation' or 'purchase' or 'account-status'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e UnexpectedAuthorizationErrorExample: value: type: /silverflow/problems/charge/unexpected-authorization-status title: Unexpected Authorization Status status: 409 detail: The status.authorization is 'declined', but expected 'approved' or 'expired'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e NonMatchingIdempontentRequestErrorExample: value: type: /silverflow/problems/idempotency/request-mismatch title: Idempotent Request Mismatch status: 409 detail: The retried request does not have the same body or URL as the initial request. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e examples-EntityNotFoundErrorExample: value: type: /silverflow/problems/entity-not-found title: Not Found status: 404 detail: The charge with key 'chg-124gasduIEAFDS2boU1f3' was not found. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e IdempotentRequestIsStillBeingProcessedExample: value: type: /silverflow/problems/idempotency/request-is-still-being-processed title: Request Is Still Being Processed status: 409 detail: The previous request with idempotency key '28gKCluIEKp8jVboUyr2' is still being processed. Please retry. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e InvalidCardErrorExample: value: type: /silverflow/problems/card/invalid title: Invalid Card status: 409 detail: The card range for the provided card could not be found. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e UnexpectedClearingStatusErrorExample: value: type: /silverflow/problems/charge/unexpected-clearing-status title: Cannot cancel or refund charge with unexpected status.clearing. status: 409 detail: The status.clearing is 'cancelled', but expected 'none' or 'pending' or 'submitted' or 'completed'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e IncompatibleCardNetworkForOperationExample: value: type: /silverflow/problems/charge/incompatible-card-network-for-operation title: Incompatible Network For Operation status: 409 detail: Operation 'reverse' is not supported for network 'bancontact' instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 examples-ForbiddenErrorExample: value: type: /silverflow/problems/forbidden title: Forbidden status: 403 detail: 'Authenticated user ''apk-33GjasQdWl4781OsErvi'' is missing the following permission(s): charges:Create.' instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e components-examples-InvalidInputErrorExample: value: type: /silverflow/problems/invalid-input title: Invalid Input status: 400 detail: The request does not adhere to the defined API schema. instance: /silverflow/b4cc37a0-ab24-46b4-aa8c-cc2d6eddf1b6 validationErrors: - path: /body/card/number message: must have required property 'number' errorCode: required.openapi.validation ChargeInvalidOperationErrorExample: value: type: /silverflow/problems/charge/invalid-operation title: Invalid Operation on Charge status: 409 detail: The charge with key 'chg-1e8gKCluVboUyr2' can no longer be offline refunded since it has been more than 6 months since it was created. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e ChargeTooOldForClearingErrorExample: value: type: /silverflow/problems/charges/invalid-charge title: Invalid Charge status: 409 detail: The charge with key 'chg-1e8gKCluVboUyr2' can no longer be cleared since it has been more than 6 months since it was authorized. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e UnexpectedMessageSystemExample: value: type: /silverflow/problems/bin/unexpected-message-system title: Unexpected Message System status: 409 detail: The merchant acceptor uses a BIN with message system 'SMS', expected 'DMS'. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 ClearingCurrentZeroAmountErrorExample: value: type: /silverflow/problems/charge/cannot-clear-zero-amount title: Cannot Clear Zero Amount status: 409 detail: Attempted to clear the full current amount of the charge with key 'chg-1e8gKCluVboUyr2', however, the currently authorized amount is 0. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 partial_Request: summary: Partial refund value: amount: 3218 reference: my-refund-123 clearAfter: '2023-11-21T14:15:22Z' dynamicDescriptor: merchantName: Annas Candy Stand merchantCity: Amsterdam InvalidAmountErrorExample: value: type: /silverflow/problems/charge/invalid-amount title: Cannot reverse charge with invalid replacement amount. status: 409 detail: The reversal amount of '10' was greater than the original charge amount of '5'. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 UnexpectedRefundStatusErrorExample: value: type: /silverflow/problems/charge/unexpected-refunds-status title: Cannot cancel or refund charge with unexpected status.refunds. status: 409 detail: The status.refund is 'approved', but expected 'none'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e TooManyRequestsErrorExample: value: type: /silverflow/problems/too-many-requests title: Too Many Requests status: 429 detail: You have exceeded the rate limit. Please try again after the specified delay. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e parameters: components-parameters-offsetToken: name: offsetToken description: The offset token. This token is returned in the response of previous request. in: query required: false schema: $ref: '#/components/schemas/components-schemas-offsetToken' IdempotencyKey: in: header name: Idempotency-Key schema: type: string description: 'This key is used to deduplicate requests that are retried. For more information see the section on [Idempotency](https://docs.silverflow.com/guides/idempotency). ' minLength: 1 example: 28gKCluIEKp8jVboUyr2 required: false chargeKey: name: chargeKey in: path required: true description: 'Uniquely identifies a charge. ' schema: $ref: '#/components/schemas/chargeKey' actionKey: name: actionKey in: path required: true description: 'Uniquely identifies an action. ' schema: $ref: '#/components/schemas/actionKey' limit: name: limit description: The number of items to return in: query required: false schema: type: integer format: int32 minimum: 1 maximum: 100 default: 10 example: 1 responses: TemporaryServerError: description: Temporary Server Error content: application/json: schema: $ref: '#/components/schemas/TemporaryServerErrorDetails' examples: TemporaryServerErrorExample: $ref: '#/components/examples/TemporaryServerErrorExample' responses-InvalidInputError: description: The request body was malformed content: application/json: schema: $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails' examples: InvalidInputErrorExample: $ref: '#/components/examples/components-examples-InvalidInputErrorExample' EntityNotFoundError: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/schemas-EntityNotFoundErrorDetails' examples: EntityNotFoundErrorExample: $ref: '#/components/examples/examples-EntityNotFoundErrorExample' components-responses-TooManyRequestsError: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsErrorDetails' examples: TooManyRequestsErrorExample: $ref: '#/components/examples/TooManyRequestsErrorExample' components-responses-ForbiddenError: description: The authenticated client is forbidden to make the request for the resource identified. content: application/json: schema: $ref: '#/components/schemas/ForbiddenErrorDetails' examples: ForbiddenErrorExample: $ref: '#/components/examples/examples-ForbiddenErrorExample' openapi_components-responses-UnauthorizedError: description: Authentication information is missing or invalid headers: WWW_Authenticate: schema: type: string content: application/json: schema: $ref: '#/components/schemas/UnauthorizedErrorDetails' examples: AuthenticationRequired: $ref: '#/components/examples/examples-AuthenticationRequiredExample' responses-InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorDetails' examples: InternalServerErrorExample: $ref: '#/components/examples/components-examples-InternalServerErrorExample' securitySchemes: ApiKey: description: "The primary method of authenticating to the Silverflow API is through API keys.\n\nAPI keys can be created by calling the [createApiKey](#operation/createApiKey) endpoint. You can create up to 40 API keys and also update and delete them, allowing for _credential rotation_.\n\nThe _Agent Activation_ process will generate an initial API Key for you. See [Activate Agent](#section/Getting-Started).\n\nA call to the [createApiKey](#operation/createApiKey) endpoint will return the following structure:\n\n```json\n{\n \"key\": \"apk-1wtRxni5IsPsSpBLWpwr\",\n \"status\": \"active\",\n \"agentKey\": \"cgt-1wtRvFLIjDOyyUR5Q2LB\",\n \"description\": \"Data lake API key\",\n \"permissions\": [\n \"charges:List\",\n \"reports:All\"\n ],\n \"created\": \"2021-06-22T11:21:45.115Z\",\n \"secret\": \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\",\n \"version\": 1\n}\n```\n\n> **Important:** The `secret` is only returned once in the response to the `createApiKey` call.\n\nOnce created, the `key` and `secret` fields from the API key must be used in the HTTP `Authorization` header using the `Basic` scheme.\nThe Basic scheme requires a **username** and **password** to be specified, separated by a `:` (colon) and Base64 encoded.\n\nUse the following values from the API key to construct a Basic authentication header:\n\n| Basic field | API key field | Example |\n| ----------- | ------------- | ------- |\n| username | `key` | `apk-1wtRxni5IsPsSpBLWpwr` |\n| password | `secret` | `FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ` |\n\nIn pseudo-code a valid HTTP Basic Authentication header would be constructed as follows:\n\n```ts\nconst apiKeyId = \"apk-1wtRxni5IsPsSpBLWpwr\";\nconst apiKeySecret = \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\";\nconst authnValue = \"Basic \" + base64Encode(apiKeyId + \":\" + apiKeySecret);\nrequest.setHeader(\"Authorization\", authnValue);\n```\n\nUsing the values from the example a valid HTTP request would look like the following:\n\n```http\nGET /v1/agents/current HTTP/1.1\nAccept: application/json\nAuthorization: Basic YXBrLTF3dFJ4bmk1SXNQc1NwQkxXcHdyOkZXdG5PT0hBamJENnJOeFdXRWVWT0NqN0pYU0VQR0pR\n```\n\nMore information on the Basic scheme can be found in [RFC-7617 - The 'Basic' HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617)." type: http scheme: basic BearerToken: description: 'Bearer tokens are temporary security credentials that can be used to authorize ''third parties'' (bearers) access to the Silverflow API on behalf of the agent. These tokens are created by calling the [createAgentBearerToken](#operation/createAgentBearerToken) endpoint. Once created the `token` field must be used in the HTTP `Authorization` header using the `Bearer` scheme. Here''s an example of an HTTP request with a bearer token: ```http GET /v1/merchants/mct-1hPdFhmgaBzMS191nIbJ HTTP/1.1 Accept: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...40EFOgxf_3I6mPZ16bXqHd5tUyApgl0mNOAXPm5AhnA ``` More information on the Bearer scheme can be found in [RFC-6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://datatracker.ietf.org/doc/html/rfc6750).' type: http scheme: bearer bearerFormat: JWT MutualTLS: type: apiKey in: header name: '-' description: 'The client must set up mTLS connection with a valid X.509 client certificate signed by a customer-provided CA (certificate authority) that is registered to a specific agent. The customer-provided CA certificate must be shared and added to Silverflow''s trust store prior to calling endpoints. Certificate validation happens at the transport layer during TLS handshake. Tenant verification is performed by matching the agent key embedded in the client certificate against the agent key embedded in the trusted CA. ' x-refined-from: - silverflow-openapi.yml - silverflow-openapi.yml x-tagGroups: - name: '' tags: - Introduction - Release Notes - name: Accounts tags: - Agents - API Keys - Bins - Merchants - Merchant Acceptors - Enrollments - Screenings - name: Event Notifications tags: - Event Subscriptions - Charges Events - Disputes Events - Fraud Notification Events - Processor Tokens Events - Network Tokens Events - Report Events - Distribution Events - AMMF Submission Events - Reconciliation Events - Clearing Events - name: 3DS Authentication tags: - 3DS Authentication - name: BEP Authentication tags: - BEP Authentication - name: Tokenization tags: - Processor Tokenization - Network Tokenization - name: Charges tags: - Create Charges - Create Recurring - Retrieve Charges - Charge Actions - name: Terminal-To-Cloud tags: - Create POS Charges - Retrieve POS Charges - POS Charge Actions - name: Card Management tags: - Card Management - name: Disputes tags: - Disputes - Documents - name: Fraud Notifications tags: - Fraud Notifications - name: Card Info tags: - Card Info - name: Currency Conversion Rates tags: - Currency Conversion Rates - name: Fees tags: - Fees - name: Reconciliation tags: - Reconciliation Details - Network Funds Transfers - name: Reports tags: - Reconciliation Reports - Settlement Reports - Card Network Reports - Dispute Reports - Fraud Notifications Reports - Charges Reports - Scheme Fee Reports - Retrieve Reports - Report Scheduling - Distributions - name: Transaction Risk Assessment tags: - Transaction Risk Assessment - name: File Subscriptions tags: - File Subscriptions