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

# Cancel transaction V2

> Cancel the specified amount from the reserved amount of the transaction. In case the amount is not specified, the full reserved amount of the transaction is cancelled.
The operation is idempotent.



## OpenAPI

````yaml openapi/bonus-v1.json POST /v2/transactions/{id}/cancel
openapi: 3.0.4
info:
  title: Accounting.Api
  version: v1
servers:
  - url: https://{host}/bonus
    description: Your Lobyco environment
    variables:
      host:
        default: your-environment.lobyco.net
        description: >-
          The API host for your Lobyco environment. Replace it with the host you
          were given — this placeholder does not resolve.
security:
  - Bearer: []
paths:
  /v2/transactions/{id}/cancel:
    post:
      tags:
        - Service2Service
      summary: Cancel transaction V2
      description: >-
        Cancel the specified amount from the reserved amount of the transaction.
        In case the amount is not specified, the full reserved amount of the
        transaction is cancelled.

        The operation is idempotent.
      parameters:
        - name: id
          in: path
          description: Unique transaction id.
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        description: Cancel operation details.
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Accounting.Api.Controllers.Service2Service.Models.CancelTransactionRequest
          text/json:
            schema:
              $ref: >-
                #/components/schemas/Accounting.Api.Controllers.Service2Service.Models.CancelTransactionRequest
          application/*+json:
            schema:
              $ref: >-
                #/components/schemas/Accounting.Api.Controllers.Service2Service.Models.CancelTransactionRequest
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Accounting.Api.CQRS.Commands.CancelTransactionV2.Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
components:
  schemas:
    Accounting.Api.Controllers.Service2Service.Models.CancelTransactionRequest:
      required:
        - operationId
      type: object
      properties:
        amount:
          type: number
          description: Amount which should be released.
          format: double
          nullable: true
        operationId:
          maxLength: 128
          minLength: 1
          type: string
          description: >-
            Unique identifier of the cancel operation (should be the same only
            for retries of the same operation).
      additionalProperties: false
    Accounting.Api.CQRS.Commands.CancelTransactionV2.Response:
      required:
        - remainingReservedAmount
        - state
      type: object
      properties:
        state:
          $ref: '#/components/schemas/Accounting.Domain.Entities.TransactionState'
        remainingReservedAmount:
          type: number
          description: >-
            Reserved amount of the transaction remaining after the cancel
            operation.

            If the remaining reserved amount is zero then the transaction is
            finalized.
          format: double
      additionalProperties: false
    LoopFoundation.Commons.Contracts.WebServiceError:
      required:
        - message
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        message:
          minLength: 1
          type: string
        details:
          nullable: true
      additionalProperties: false
    Accounting.Domain.Entities.TransactionState:
      enum:
        - Waiting
        - Successful
        - Cancelled
      type: string
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        JWT Authorization header using the Bearer scheme. Example:
        "Authorization: Bearer {token}"
      name: Authorization
      in: header

````