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

# Reverse Authorization

> Cancels a **previously authorized** payment before it has been captured.
This is typically used to release a hold placed on the customer's account — for example, when an order is canceled or the final amount is still uncertain.

The endpoint requires the original `paymentMethodAuthorizationId`, and will void the existing authorization at the processor level.
It helps avoid unnecessary charges or confusion on the customer's statement and ensures accurate billing behavior.

Note: Authorizations can only be reversed if they haven't been captured yet.



## OpenAPI

````yaml /api-reference/swagger.json post /api/PaymentMethod/reverse-auth
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.2
servers:
  - url: https://api-sandbox.revolv3.com
security: []
paths:
  /api/PaymentMethod/reverse-auth:
    post:
      tags:
        - PaymentMethod
      summary: Reverse Authorization
      description: "Cancels a **previously authorized** payment before it has been captured.\r\nThis is typically used to release a hold placed on the customer's account — for example, when an order is canceled or the final amount is still uncertain.\r\n\r\nThe endpoint requires the original `paymentMethodAuthorizationId`, and will void the existing authorization at the processor level.\r\nIt helps avoid unnecessary charges or confusion on the customer's statement and ensures accurate billing behavior.\r\n\r\nNote: Authorizations can only be reversed if they haven't been captured yet."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ReverseAuthorizationRequestDTO'
            example:
              paymentMethodAuthorizationId: 76
              reason: Merchant requested reversal of auth
              amount: 45
              reportGroup: null
          application/json:
            schema:
              $ref: '#/components/schemas/ReverseAuthorizationRequestDTO'
            example:
              paymentMethodAuthorizationId: 76
              reason: Merchant requested reversal of auth
              amount: 45
              reportGroup: null
          text/json:
            schema:
              $ref: '#/components/schemas/ReverseAuthorizationRequestDTO'
            example:
              paymentMethodAuthorizationId: 76
              reason: Merchant requested reversal of auth
              amount: 45
              reportGroup: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/ReverseAuthorizationRequestDTO'
            example:
              paymentMethodAuthorizationId: 76
              reason: Merchant requested reversal of auth
              amount: 45
              reportGroup: null
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ReverseAuthorizationResponseDTO'
              example:
                paymentProcessor: 4
                referenceNumber: 5287H65D567
                message: Approved
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            application/json:
              schema:
                $ref: '#/components/schemas/ReverseAuthorizationResponseDTO'
              example:
                paymentProcessor: 4
                referenceNumber: 5287H65D567
                message: Approved
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            text/json:
              schema:
                $ref: '#/components/schemas/ReverseAuthorizationResponseDTO'
              example:
                paymentProcessor: 4
                referenceNumber: 5287H65D567
                message: Approved
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
      security:
        - XRevolv3Token: []
components:
  schemas:
    ReverseAuthorizationRequestDTO:
      type: object
      properties:
        paymentMethodAuthorizationId:
          minimum: 0
          exclusiveMinimum: true
          type: integer
          format: int64
        reason:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        amount:
          maximum: 10000000
          minimum: 0.01
          type: number
          format: double
          nullable: true
        reportGroup:
          type: string
          description: >-
            Report Groups could be used to separate your transactions into
            different categories, so you can view the financial reports by your
            specific report group names (Worldpay only).
      additionalProperties: false
    ReverseAuthorizationResponseDTO:
      type: object
      properties:
        paymentProcessor:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int32
        referenceNumber:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        message:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
  securitySchemes:
    XRevolv3Token:
      type: apiKey
      in: header
      name: x-revolv3-token

````