# Create a Balance Adjustment

Create a Balance Adjustment to increase (i.e., 'Top-up') or decrease your account balance for Payouts.

Endpoint: POST /balance_adjustments
Version: 2022-02-01
Security: BasicAuth

## Header parameters:

  - `Finix-Version` (string)
    Specify the API version of your request. For more details, see Versioning.
    Example: "2022-02-01"

  - `Content-Type` (string)
    The data type being sent in the request body must be application/json.
    Example: "application/json"

## Request fields (application/json):

  - `amount` (integer, required)
    The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    Example: 5000

  - `currency` (string, required)
    ISO 4217 3 letter currency code.
    Enum: "USD"

  - `description` (string, required)
    A description of the Balance Adjustment.

  - `instrument_id` (string, required)
    The account, card, or bank account that is credited or debited as part of the adjustment.

  - `processor` (string, required)
    The payment processing entity responsible for handling transactions, fund movements, etc., between different financial accounts.
    Enum: "DUMMY_V1"

  - `rail` (string, required)
    The method of adjustment.
    Enum: "ACH"

  - `top_up_config_id` (string,null)
    The ID of the top-up configuration that created the adjustment.

  - `type` (string)
    Specifies whether the Balance Adjustment increases or decreases the account balance.

Acceptable values:
- TOP_UP - Adds funds to the balance (e.g., a deposit or manual funding).
    Enum: "TOP_UP"

  - `tags` (object,null)
    Include up to 50 key: value pairs to annotate requests with custom metadata.
- Maximum character length for individual keys is 40.
- Maximum character length for individual values is 500.
(For example, order_number: 25, item_type: produce, department: sales)

## Response 201 fields (application/json):

  - `id` (string)
    The ID of the resource.

  - `created_at` (string)
    Timestamp of when the object was created.

  - `updated_at` (string)
    Timestamp of when the object was last updated.

  - `amount` (integer)
    The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    Example: 5000

  - `balance_entry_id` (string)
    A ledger record that tracks individual financial movements within a Balance Adjustment.

  - `currency` (string)
    ISO 4217 3 letter currency code.
    Enum: "USD"

  - `description` (string)
    A description of the Balance Adjustment.

  - `failure_code` (string,null)
    The code of the failure so the decline can be handled programmatically. For more info on how to handle the failure, see [Failure Codes](/guides/payouts/handling-payout-failures).

  - `failure_message` (string,null)
    The code of the failure so the decline can be handled programmatically. For more info on how to handle the failure, see [Failure Codes](/guides/payouts/handling-payout-failures).

  - `instrument_id` (string)
    The account, card, or bank account that is credited or debited as part of the adjustment.

  - `processor` (string)
    The payment processing entity responsible for handling transactions, fund movements, etc., between different financial accounts.
    Enum: "DUMMY_V1", "FINIX_V1"

  - `rail` (string)
    The method of adjustment.
    Enum: "ACH"

  - `state` (string)
    The status of the Balance Adjustment, indicating whether the adjustment was successful or failed.

- SUBMITTED - The balance adjustment has been initiated but is not yet confirmed.  
- SUCCEEDED - The adjustment was successful, and the funds are available. This typically occurs 1-3 business days after SUBMITTED.  
- FAILED - Finix was unable to process the adjustment, and the balance was not updated.  
- RETURN - The adjustment was initially successful, but a subsequent return resulted in a reversal of the balance increase.
    Enum: "FAILED", "RETURNED", "SUBMITTED", "SUCCEEDED"

  - `trace_id` (string)
    A unique identifier for tracking the Balance Adjustment across its lifecycle.

  - `type` (string)
    Specifies whether the Balance Adjustment increases or decreases the account balance.

Acceptable values:
- TOP_UP - Adds funds to the balance (e.g., a deposit or manual funding).
    Enum: "TOP_UP"

  - `tags` (object,null)
    Include up to 50 key: value pairs to annotate requests with custom metadata.
- Maximum character length for individual keys is 40.
- Maximum character length for individual values is 500.
(For example, order_number: 25, item_type: produce, department: sales)

  - `_links` (object)
    An object containing link(s) relevant to the request. You can store these links for follow-up requests.

  - `_links.self` (object)

  - `_links.self.href` (string)
    The path to the new Balance Adjustment resource.

## Response 400 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 401 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 403 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 404 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 406 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 422 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.
    Enum: "UNPROCESSABLE_ENTITY", "INVALID_BANK_ACCOUNT_VALIDATION_CHECK", "BAD_REQUEST"

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.


