# Processes a new debit memo

This method will auto-generate an ID and create a new debit memo. If an ID is specified for the debit memo, an error will be thrown.

Endpoint: POST /debitMemos/{tenantId}
Version: v1-2025-04-18
Security: knox-authorizer

## Security:

  - `knox-authorizer` (unknown)
    http bearer JWT

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

## Request body:

  - `application/json` (unknown)
    The debit memo that you would like to be saved.

## Request fields (application/json):

  - `base_currency_code` (string)
    The base currency for transactions business unit

  - `base_currency_symbol` (string)
    The base symbol for the transactions business unit

  - `batch_id` (string, required)
    The batch this transaction belongs to

  - `business_unit_id` (string, required)
    The business unit this transaction belongs to

  - `cancellation_id` (string)
    The order cancellation tied to this transaction

  - `currency_code` (string)
    The currency code in use
    Enum: "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EEK", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GQE", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LVL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZM", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEB", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMK", "ZWR"

  - `currency_symbol` (string)
    The currency symbol

  - `custom_field_values` (array)

  - `custom_field_values.boolean_value` (boolean)
    The boolean value

  - `custom_field_values.custom_field_id` (string)
    The unique identifier of the custom field

  - `custom_field_values.file_url_value` (string)
    The pointer to a file value

  - `custom_field_values.list_value` (array)
    The list value

  - `custom_field_values.numeric_value` (number)
    The numeric value

  - `custom_field_values.string_value` (string)
    The string value of the custom field

  - `custom_field_values.table_value` (array)
    A list of objects (a table)

  - `date` (string)
    The date of the transaction

  - `exchange_rate` (number)
    The exchange rate, if applicable

  - `id` (string, required)
    The unique, string identifier of this debit memo

  - `invoice_id` (string, required)
    The invoice the debit memo applies to

  - `line_items` (array, required)

  - `line_items.debit_memo_line_item_id` (string)
    The id of the debit memo line item

  - `line_items.description` (string)
    Descriptive information

  - `line_items.invoice_line_item_id` (string, required)
    The invoice line item being modified

  - `line_items.quantity` (number, required)
    Quantity

  - `line_items.total` (number, required)
    Total of the line item

  - `line_items.total_in_base_currency` (number)
    The total of the transaction, in the base currency of the business unit.

  - `line_items.total_in_base_currency` (any, required)

  - `line_items.debit_memo_line_item_id` (any, required)

  - `memo` (string)
    Memo/description of the transaction

  - `notes` (string)
    Notes fro the transaction

  - `number` (integer, required)
    The transaction number

  - `order_id` (string)
    The order tied to this transaction

  - `return_id` (string)
    The return tied to this transaction

  - `sys_bulk_load_at` (string)
    If this record was loaded via bulk, the timestamp when the record was processed

  - `sys_bulk_load_id` (string)
    If this record was loaded via bulk, the ID of the bulk load process

  - `sys_bulk_load_pk` (string)
    If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

  - `sys_bulk_load_record_no` (number)
    If this record was loaded via bulk, the record number in the source file

  - `sys_bulk_load_source_file` (string)
    If this record was loaded via bulk, the source file

  - `sys_calculated_field_error` (string)
    The error associated with the calculated field

  - `sys_calculated_field_errors` (array)

  - `sys_calculated_field_errors.error` (string)

  - `sys_calculated_field_errors.field` (string)

  - `sys_configuration_snapshot_id` (string)
    If a snapshot was restored/applies to this record, the ID of the snapshot

  - `sys_created_at` (string, required)
    The date/time that this record was created, expressed in ISO-8601 date format

  - `sys_created_by_id` (string, required)
    The ID of the user that created this record

  - `sys_deleted_by_id` (string)
    The ID of the user that deleted (or last tried to delete) this object

  - `sys_directive` (string)
    Means for passing directive information into an object processing logic

  - `sys_external_id` (string)
    The ID that a record has from an external system or data import

  - `sys_has_files_in_s3` (boolean)
    If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion

  - `sys_last_bulk_data_operation_id` (string)
    If this record was last touched by a bulk data operation, the ID of that operation

  - `sys_last_bulk_data_operation_sys_version` (string)
    If this record was last touched by a bulk data operation, the sys_version at the time of that operation

  - `sys_last_modified_at` (string, required)
    The date/time that this record record was last modified, expressed in ISO-8601 date format

  - `sys_last_modified_by_id` (string, required)
    The ID of the user that last modified this record

  - `sys_last_security_context` (object)
    The security context of the last insert, modify, or delete performed on this item

  - `sys_locked` (boolean)
    If set, this record is locked and cannot be changed via the API

  - `sys_search_composite_key` (string)
    Internal use

  - `sys_snapshot_base_version` (number)
    The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

  - `sys_version` (number)
    A number representing the version of this record in the database

  - `total` (number, required)
    The transaction total

  - `total_in_base_currency` (number, required)
    The total of the transaction, in the base currency of the business unit.

  - `workflow_execution_id` (string)
    The ID of the state machine execution used to create this transaction

## Response 200:

  - `200` (unknown)
    The debit memo was saved successfully.

## Response 200 fields (application/json):

  - `executionArn` (string, required)
    The arn of the execution

  - `notification_channel` (string)
    The id of the channel where progress updates will be posted

  - `notification_publishKey` (string)
    The publish key for the channel where progress updates will be posted

  - `notification_subscribeKey` (string)
    The subscribe key for the channel where progress updates will be posted

  - `start_date` (string)
    The start date of the execution

## Response 200 headers (application/json):

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 400:

  - `400` (unknown)
    The debit memo you supplied was invalid.

## Response 400 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized.

## Response 401 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 404:

  - `404` (unknown)
    The resource could not be found

## Response 404 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 409:

  - `409` (unknown)
    The debit memo could not be saved because it refers to/depends on a non-existent object.

## Response 409 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 429:

  - `429` (unknown)
    Limit exceeded... unable to add debit memo based on tenant limits.

## Response 429 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 500:

  - `500` (unknown)
    General server error.

## Response 500 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

