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

# Update Pre-Authorization

> Increases or decreases the authorized amount on an existing preauthorization. If new_authorized_amount is greater than last_authorized_amount, an incremental authorization is issued and a preauth.increment webhook fires. If new_authorized_amount is less, a partial reversal is issued and a preauth.decrement webhook fires. last_authorized_amount must match the current authorized amount on the record.



## OpenAPI

````yaml post /preauth/update
openapi: 3.0.3
info:
  title: Fractal
  version: 1.0.0
  contact: {}
servers:
  - url: https://testapi.fractalpay.com/api/v1
    description: Sandbox
  - url: https://api.fractalpay.com/api/v1
    description: Production
security: []
tags:
  - name: Merchant Onboarding
  - name: Payment Collection Methods
  - name: Requests
  - name: Preauthorizations
  - name: Customers
  - name: Charging Customer
  - name: Transactions
paths:
  /preauth/update:
    post:
      tags:
        - Preauthorizations
      summary: Update Pre-Authorization
      description: >-
        Increases or decreases the authorized amount on an existing
        preauthorization. If new_authorized_amount is greater than
        last_authorized_amount, an incremental authorization is issued and a
        preauth.increment webhook fires. If new_authorized_amount is less, a
        partial reversal is issued and a preauth.decrement webhook fires.
        last_authorized_amount must match the current authorized amount on the
        record.
      operationId: updatePreAuthorization
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - transaction_id
                - merchant_key
                - last_authorized_amount
                - new_authorized_amount
              properties:
                merchant_key:
                  type: string
                  description: The merchant's unique API key.
                  example: '{{merchant_key}}'
                transaction_id:
                  type: string
                  description: >-
                    The guid of the existing preauthorization to update. Always
                    use the original preauthorization transaction ID — not the
                    ID returned by a previous update.
                  example: txn_77c9a625a3
                last_authorized_amount:
                  type: string
                  description: >-
                    The current authorized amount. Must match the amount on
                    record or the request returns an Amount mismatch error.
                  example: '10.00'
                new_authorized_amount:
                  type: string
                  description: >-
                    The target authorized amount. Greater than
                    last_authorized_amount triggers an increment; less triggers
                    a decrement.
                  example: '11.00'
                order_id:
                  type: string
                  description: Your order reference.
                  example: '5467'
            examples:
              Increment (raise authorization):
                value:
                  merchant_key: '{{merchant_key}}'
                  transaction_id: txn_77c9a625a3
                  last_authorized_amount: '10.00'
                  new_authorized_amount: '11.00'
                  order_id: '5467'
              Decrement (partial reversal):
                value:
                  merchant_key: '{{merchant_key}}'
                  transaction_id: txn_77c9a625a3
                  last_authorized_amount: '10.00'
                  new_authorized_amount: '8.00'
                  order_id: '5467'
      responses:
        '200':
          description: Authorization updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Amount Updated Successfully
                  data:
                    type: object
                    properties:
                      Status:
                        type: string
                        description: Gateway approval status.
                        example: Approved
                      Account:
                        type: string
                        description: Last four digits of the card.
                        example: '0043'
                      Brand:
                        type: string
                        description: Card brand.
                        example: Visa
                      AuthCode:
                        type: string
                        description: Authorization code from the gateway.
                        example: ''
                      Authorized:
                        type: string
                        description: New authorized amount after the update.
                        example: '11.00'
                      transaction_id:
                        type: string
                        description: The preauth transaction ID.
                        example: txn_77c9a625a3
                      orderid:
                        type: string
                        description: The associated order ID.
                        example: '5467'
              examples:
                Increment response:
                  value:
                    result: true
                    message: Amount Updated Successfully
                    data:
                      Status: Approved
                      Account: '0043'
                      Brand: Visa
                      AuthCode: ''
                      Authorized: '11.00'
                      transaction_id: txn_77c9a625a3
                      orderid: '5467'
        '400':
          description: Update failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                    example: false
                  message:
                    type: string
              examples:
                Amount mismatch:
                  value:
                    result: false
                    message: Amount mismatch
                Cannot increase already-decremented auth:
                  value:
                    result: false
                    message: Authorization can only be decreased, captured, or voided.
                Cannot decrease already-incremented auth:
                  value:
                    result: false
                    message: Authorization can only be increased, captured, or voided.
      security:
        - basicAuth: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: |-
        Use your Fractal API credentials.

        Username = Client ID
        Password = Secret Key

        Sandbox credentials can be generated from the Test Portal.

````