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

# Release (Void) Authorized Transaction

> **Voids a Locked Transaction.**

Releases funds that were previously authorized but not captured. To void a transaction:

1. Send the **`transactionId`** of the locked transaction in the request payload
2. The authorization hold on the customer's funds will be removed
3. The transaction status will change to **`void`**

This operation cannot be reversed. Once voided, a transaction cannot be captured.




## OpenAPI

````yaml /merchant/partner-connect/partner-connect.yaml post /partner-connect/transactions/release
openapi: 3.0.2
info:
  title: Partner Connect API Reference
  description: >
    # Partner Connect API Documentation


    Welcome to the Partner Connect API documentation. This API allows external
    partners (merchants, service providers) to integrate with our card services
    for binding customer cards and processing transactions.


    ## Key Features:

    - Secure Card Binding: Link customer payment cards to your system securely.

    - Transaction Processing: Authorize, capture, void, and refund payments
    using bound cards.


    ## Notes for API Integration

    - **Authentication:** Requests must be authenticated using either HTTP Basic
    Auth or Bearer Token (JWT), as specified in the `securitySchemes`.

    - **Error Handling:** The API uses standard HTTP status codes. Specific
    error details are provided in the response body with `code` and `message`
    fields. Refer to the `components/schemas/ErrorPartnerConnect...` definitions
    and the specific endpoint `responses` for details on possible errors.

    - **Idempotency:** Where applicable (e.g., transaction initiation), consider
    implementing idempotency checks on your side using unique request
    identifiers if needed, although the API itself may handle idempotency for
    certain operations like binding initiation.
  version: '1.0'
servers:
  - url: tbc
security:
  - Basic: []
  - Bearer: []
tags:
  - name: Partner Connect
    description: >-
      Endpoints for integrating partner systems with card services, including
      card binding and transaction processing.
paths:
  /partner-connect/transactions/release:
    post:
      tags:
        - Transactions
      summary: Release (Void) Authorized Transaction
      description: >
        **Voids a Locked Transaction.**


        Releases funds that were previously authorized but not captured. To void
        a transaction:


        1. Send the **`transactionId`** of the locked transaction in the request
        payload

        2. The authorization hold on the customer's funds will be removed

        3. The transaction status will change to **`void`**


        This operation cannot be reversed. Once voided, a transaction cannot be
        captured.
      requestBody:
        required: true
        description: >-
          Requires the `transactionId` of the locked transaction to be released
          in the request body.
        content:
          application/json:
            schema:
              type: object
              required:
                - transactionId
              properties:
                transactionId:
                  type: string
                  format: uuid
                  description: Unique transaction identifier.
      responses:
        '200':
          description: >-
            Transaction successfully released (voided). The authorization hold
            on the customer's funds has been removed and the transaction status
            has been updated to `void`. This operation cannot be reversed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactionId:
                    description: >-
                      The unique identifier (UUID) of the voided transaction
                      (same as the authorization ID).
                    type: string
                    format: uuid
                  status:
                    $ref: '#/components/schemas/PartnerConnectTransactionStatus'
                    description: >-
                      The updated status of the transaction, which will be
                      `void`.
                  cardId:
                    description: >-
                      The unique identifier (UUID) assigned to the successfully
                      bound card. **Store this `cardId` securely**, as it is
                      required to reference this card in all subsequent
                      transaction requests (`/verify`, `/purchase`, etc.).
                    type: string
                    format: uuid
                  refId:
                    description: >-
                      A unique transaction identifier provided for the client’s
                      reference. It can be used to track or correlate
                      transactions
                    type: string
                    example: CT6KQDDEC2
                example:
                  transactionId: 123e4567-e89b-12d3-a456-426614174000
                  status: void
                required:
                  - transactionId
                  - status
        '404':
          description: >-
            Transaction Not Found or Invalid State. The `transactionId` does not
            exist, or the transaction is not in the `locked` state required for
            release (e.g., already captured/voided) (`TRANSACTION_NOT_FOUND`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPartnerConnectTransactionNotFound'
        '406':
          description: >-
            Release Failed. The release (void) operation failed, likely due to a
            downstream system communication issue (`RELEASE_FAILED`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPartnerConnectReleaseFailed'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    PartnerConnectTransactionStatus:
      type: string
      enum:
        - locked
        - captured
        - void
        - refunded
      description: >
        Enum representing the lifecycle status of a Partner Connect transaction:

        * `locked` - An authorization request was successful. Funds are reserved
        on the cardholder's account but not yet transferred. This transaction
        can be captured or released (voided).

        * `captured` - The previously locked funds have been successfully
        transferred from the cardholder to the merchant. This transaction can
        potentially be refunded.

        * `void` - The previously locked funds have been released back to the
        cardholder before capture. The authorization is cancelled.

        * `refunded` - Funds for a previously captured transaction have been
        returned to the cardholder.
    ErrorPartnerConnectTransactionNotFound:
      description: >
        The transaction was not found or is in an invalid state for the
        requested operation.

        Please verify the **transaction ID** and its current status.
      type: object
      properties:
        code:
          type: string
          description: Error code, i.e. `TRANSACTION_NOT_FOUND`.
          default: TRANSACTION_NOT_FOUND
        message:
          type: string
          description: Human-readable error explanation.
          default: >-
            No transaction found with the provided transaction ID, or the
            transaction's current status prevents the requested operation (e.g.,
            trying to capture a non-locked transaction, refunding a non-captured
            transaction).
    ErrorPartnerConnectReleaseFailed:
      description: |
        The release (void) operation failed due to a system error.
        Please retry the release or contact support if the issue persists.
      type: object
      properties:
        code:
          type: string
          description: Error code, i.e. `RELEASE_FAILED`.
          default: RELEASE_FAILED
        message:
          type: string
          description: Human-readable error explanation.
          default: >-
            Failed to release (void) the authorized funds due to a downstream
            system error. Please retry the release operation later.
  responses:
    InternalServerError:
      description: >-
        Internal Server Error. A server error occurred. Please try again later;
        if the problem persists, contact support.
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: string
                description: Error code, i.e. `INTERNAL_SERVER_ERROR`.
                default: INTERNAL_SERVER_ERROR
              message:
                type: string
                description: A brief message indicating a server-side error.
                default: Your request could not be processed due to a server error.
  securitySchemes:
    Basic:
      type: http
      scheme: basic
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````