List Settlements

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.omni-dev.integratedcommerce.io/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Omni API Dev MCP server": {
    "url": "https://docs.omni-dev.integratedcommerce.io/mcp"
  }
}

Close
GET /settlements

Returns a paginated list of settlements (bank deposits) for a given date or date range, based on the settlement (deposit) date. Each settlement summarizes one deposit to the merchant's bank account; retrieve its settled-transaction line items with GET /settlements/{settlementId}.

Either date or fromDate/toDate must be provided.

The endpoint supports filtering and sorting via the filters and sorts parameters (see List Transactions for the filter operator table).

Examples:
  • Single day: ?date=2026-07-01
  • Date range, ACH only: ?fromDate=2026-07-01&toDate=2026-07-07&filters=type==Ach
  • Largest first: ?date=2026-07-01&sorts=-amount

Query parameters

  • date string(date)

    A single day to report on. Either date or at least one of fromDate/toDate must be provided. When date is given it takes precedence and the range is that single day. Only the date part is used; any time component is ignored.

  • fromDate string(date)

    Inclusive start of the date range. If omitted while toDate is given, the range is the single day toDate. Only the date part is used; any time component is ignored.

  • toDate string(date)

    Inclusive end of the date range. If omitted while fromDate is given, the range is the single day fromDate. Only the date part is used; any time component is ignored.

  • merchantIds string

    Comma-separated list of merchant IDs to report on. Forward-compatible parameter for multi-merchant API keys; currently every ID must be the merchant resolved from the API key, and any other ID is rejected with 401. Omit it to default to that merchant.

  • filters string

    Filter criteria in the format: field==value,field!=value Multiple filters can be separated by commas. Available fields: settlementDate, type, amount, status. netAmount is accepted as a deprecated alias of amount until it is removed.

  • sorts string

    Sort criteria as comma-separated field names. Prefix a field with - for descending order. Available fields: settlementDate, amount, status. netAmount is accepted as a deprecated alias of amount until it is removed.

  • page integer

    Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.

    Minimum value is 1. Default value is 1.

  • pageSize integer

    Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.

    Minimum value is 1, maximum value is 100. Default value is 10.

Responses

  • 200 application/json

    A successful paginated response containing settlements

    Hide response attributes Show response attributes object
    • totalCount integer Required

      Total number of settlements that match the filter criteria

    • page integer Required

      The current page number (starts at 1)

    • pageSize integer Required

      Number of items per page

    • totalPages integer Required

      Total number of pages available

    • hasNextPage boolean Required

      True if there are more pages of results available

    • hasPreviousPage boolean Required

      True if there are previous pages of results available

    • items array[object] Required

      Array of settlements for the current page

      Hide items attributes Show items attributes object

      The summary shape of a settlement - one deposit to the merchant's bank account (deposit date, item count, deposited total, funding type).

      • id string Required

        The settlement ID, prefixed with stl_.

      • type string Required

        The kind of settlement, derived from the settlement provider.

        Card: A card settlement, deposited from the card processor.

        Ach: An ACH settlement, deposited from the ACH processor.

        Values are Card or Ach.

      • settlementDate string(date) Required

        The date the settlement was deposited to the merchant's bank account.

      • currency string Required

        Values are USD or CAD.

      • amount integer Required

        The deposit as it landed in the merchant's bank account, smallest denomination. Signed - normally positive, but may be negative when returns/adjustments in the deposit exceed sales.

        fundingType states which reading it is: net of the fees the provider withheld from it, or the gross deposit whose fees are billed separately.

      • fundingType string Required

        Whether the rail this deposit came in on withholds the fees it bills from its deposits or bills them apart from them. An amount is never returned without a fundingType in scope, so nothing has to be looked up in the merchant's configuration to know what an amount this API returned is.

        Net: the fees were withheld, so amount is the deposit after them. They are itemized by GET /fee-charges against this deposit's settlementId.

        Gross: nothing was withheld - amount is the gross deposit - and the fees for it are billed separately, arriving as StatementOnly fee charges on the monthly statement.

        Values are Net or Gross.

      • netAmount integer Required Deprecated

        Deprecated - read amount instead. This member mirrors amount exactly and cannot hold a different figure. fundingType on this payload states whether that figure is the gross deposit or one already net of withheld fees, and is the only authoritative reading of it. Deprecated on 2026-08-21 and removed one month later in its own release, at which point netAmount also stops being accepted as a filter or sort field.

        Its value changed when amount was introduced: for a gross-funded merchant it now reports the gross deposit - the figure that actually reached the bank - so despite its name it is not necessarily a net figure.

      • transactionCount integer Required

        Number of settled-transaction line items in the settlement. Always equal to the length of the lineItems array returned by GET /settlements/{settlementId}, which withholds no line.

      • status string Required

        Status of the settlement.

        Settled: The settlement has been deposited to the merchant's bank account.

        Adjusted: Reserved for a future reconciliation follow-up (e.g. a late return posted against an already-settled deposit). Not produced yet.

        Values are Settled or Adjusted.

  • 400 application/json

    Bad request - no date parameters were provided.

    Hide response attributes Show response attributes object
    • code number

      Numeric error code. These are grouped into ranges for easier identification and troubleshooting.

      • 0 - Unknown
      • 1000 - AuthenticationGenericError
      • 1001 - MerchantNotAuthorizedForResource
      • 2000 - RequestValidationGenericError
      • 2010 - InvalidPaymentMethodType - The payment method type is not supported for this operation. This includes: ACH tokens cannot be used for auth, void, or subscription transactions.
      • 2011 - InvalidTransactionType
      • 2012 - InvalidAmount
      • 2013 - PaymentMethodUsageRestricted
      • 2020 - InvalidPaymentMethodOwner
      • 2021 - InvalidAccountHolderOwner
      • 2100 - InvalidAccountHolderInformation
      • 2101 - InvalidCountryCode
      • 2102 - InvalidZipCode
      • 2103 - MissingCountryCodeOrZipCode
      • 2105 - InvalidEmailAddress
      • 2201 - MissingUniqueToken
      • 2202 - TransactionDeclinedError
      • 2900 - RequestValidationUnsupportedPayload
      • 2901 - RequestValidationWebhookMissingTypeAndDmnType
      • 2902 - RequestValidationUnsupportedWebhookTokenization
      • 2903 - RequestValidationUnsupportedWebhookType
      • 3000 - UnknownServerGenericError
      • 3201 - InvalidOrExpiredSession
      • 3202 - FailedToCreateSessionInAdapter
      • 3203 - ErrorWhileTokenizingCard
      • 3204 - FailedToLoadThirdPartySdk
      • 3205 - SessionExpired
      • 3299 - JavaScriptError
      • 3400 - ResourceNotReadyError
      • 3401 - TransactionNotCompleteYet
      • 3501 - CouldNotCreateBillingSubscription
      • 3502 - CouldNotCancelBillingSubscription
      • 3503 - BillingSubscriptionInvalidStatus
      • 4000 - ResourceNotFound
      • 4001 - TokenizedCardNotFound
      • 4002 - PaymentMethodNotFound
      • 4003 - AccountHolderNotFound
      • 4004 - BillingSubscriptionNotFound
      • 6000 - SdkGenericError
      • 6001 - SdkJavaScriptError
      • 6100 - SdkSessionLoadFailed
      • 6101 - SdkSessionExpired
      • 6102 - SdkSessionNotInitialized
      • 6103 - SdkEnvironmentMismatch
      • 6200 - SdkCardFieldsInvalid
      • 6201 - SdkCardTokenizationFailed
      • 6202 - SdkCardInitFailed
      • 6203 - SdkCardProcessingFailed
      • 6300 - SdkAchFieldsInvalid
      • 6301 - SdkAchProcessingFailed
      • 6400 - SdkEftProcessingFailed
      • 6500 - SdkWalletError
      • 6501 - SdkWalletProcessingFailed
      • 6600 - SdkThirdPartySdkLoadFailed
      • 6700 - SdkFormValidationFailed
      • 6701 - SdkBillingValidationFailed
      • 6800 - Sdk3dsAuthenticationFailed — Issuer ACS rejected the 3DS authentication. Only emitted when formConfig.enable3DSecure: true.
      • 6801 - Sdk3dsAuthenticationUnavailable — 3DS authentication could not be completed due to an upstream technical issue.
      • 6802 - Sdk3dsNotEnrolled — The card is not enrolled in 3DS.
      • 9000 - UnhandledGenericError
      • 9999 - MaxErrorCode

      Values are 0, 1000, 1001, 2000, 2010, 2011, 2012, 2013, 2020, 2021, 2100, 2101, 2102, 2103, 2105, 2201, 2202, 2900, 2901, 2902, 2903, 3000, 3201, 3202, 3203, 3204, 3205, 3299, 3400, 3401, 3501, 3502, 3503, 4000, 4001, 4002, 4003, 4004, 6000, 6001, 6100, 6101, 6102, 6103, 6200, 6201, 6202, 6203, 6300, 6301, 6400, 6500, 6501, 6600, 6700, 6701, 6800, 6801, 6802, 9000, or 9999.

    • status string

      Execution status of the request sent to the payment gateway.

      • Completed - The request completed successfully.
      • Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
      • Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
      • Unknown

      Values are Completed, Rejected, Interrupted, or Unknown.

    • message string

      Developer-facing error message.

    • traceId string

      Unique trace identifier for tracking and debugging this request.

    • timestamp string(date-time)

      The timestamp when the error occurred (UTC).

    • errorDetails array[object]

      Represents a validation error that occurred during the request.

      Hide errorDetails attributes Show errorDetails attributes object

      Represents a validation error that occurred during the request.

      • code number

        Error code

      • field string

        The field with the error

      • message string

        Error message

      • details string

        Additional details about the error

  • 401 application/json

    Unauthorized response due to an invalid or missing API key.

    Hide response attributes Show response attributes object
    • code number

      Numeric error code. These are grouped into ranges for easier identification and troubleshooting.

      • 0 - Unknown
      • 1000 - AuthenticationGenericError
      • 1001 - MerchantNotAuthorizedForResource
      • 2000 - RequestValidationGenericError
      • 2010 - InvalidPaymentMethodType - The payment method type is not supported for this operation. This includes: ACH tokens cannot be used for auth, void, or subscription transactions.
      • 2011 - InvalidTransactionType
      • 2012 - InvalidAmount
      • 2013 - PaymentMethodUsageRestricted
      • 2020 - InvalidPaymentMethodOwner
      • 2021 - InvalidAccountHolderOwner
      • 2100 - InvalidAccountHolderInformation
      • 2101 - InvalidCountryCode
      • 2102 - InvalidZipCode
      • 2103 - MissingCountryCodeOrZipCode
      • 2105 - InvalidEmailAddress
      • 2201 - MissingUniqueToken
      • 2202 - TransactionDeclinedError
      • 2900 - RequestValidationUnsupportedPayload
      • 2901 - RequestValidationWebhookMissingTypeAndDmnType
      • 2902 - RequestValidationUnsupportedWebhookTokenization
      • 2903 - RequestValidationUnsupportedWebhookType
      • 3000 - UnknownServerGenericError
      • 3201 - InvalidOrExpiredSession
      • 3202 - FailedToCreateSessionInAdapter
      • 3203 - ErrorWhileTokenizingCard
      • 3204 - FailedToLoadThirdPartySdk
      • 3205 - SessionExpired
      • 3299 - JavaScriptError
      • 3400 - ResourceNotReadyError
      • 3401 - TransactionNotCompleteYet
      • 3501 - CouldNotCreateBillingSubscription
      • 3502 - CouldNotCancelBillingSubscription
      • 3503 - BillingSubscriptionInvalidStatus
      • 4000 - ResourceNotFound
      • 4001 - TokenizedCardNotFound
      • 4002 - PaymentMethodNotFound
      • 4003 - AccountHolderNotFound
      • 4004 - BillingSubscriptionNotFound
      • 6000 - SdkGenericError
      • 6001 - SdkJavaScriptError
      • 6100 - SdkSessionLoadFailed
      • 6101 - SdkSessionExpired
      • 6102 - SdkSessionNotInitialized
      • 6103 - SdkEnvironmentMismatch
      • 6200 - SdkCardFieldsInvalid
      • 6201 - SdkCardTokenizationFailed
      • 6202 - SdkCardInitFailed
      • 6203 - SdkCardProcessingFailed
      • 6300 - SdkAchFieldsInvalid
      • 6301 - SdkAchProcessingFailed
      • 6400 - SdkEftProcessingFailed
      • 6500 - SdkWalletError
      • 6501 - SdkWalletProcessingFailed
      • 6600 - SdkThirdPartySdkLoadFailed
      • 6700 - SdkFormValidationFailed
      • 6701 - SdkBillingValidationFailed
      • 6800 - Sdk3dsAuthenticationFailed — Issuer ACS rejected the 3DS authentication. Only emitted when formConfig.enable3DSecure: true.
      • 6801 - Sdk3dsAuthenticationUnavailable — 3DS authentication could not be completed due to an upstream technical issue.
      • 6802 - Sdk3dsNotEnrolled — The card is not enrolled in 3DS.
      • 9000 - UnhandledGenericError
      • 9999 - MaxErrorCode

      Values are 0, 1000, 1001, 2000, 2010, 2011, 2012, 2013, 2020, 2021, 2100, 2101, 2102, 2103, 2105, 2201, 2202, 2900, 2901, 2902, 2903, 3000, 3201, 3202, 3203, 3204, 3205, 3299, 3400, 3401, 3501, 3502, 3503, 4000, 4001, 4002, 4003, 4004, 6000, 6001, 6100, 6101, 6102, 6103, 6200, 6201, 6202, 6203, 6300, 6301, 6400, 6500, 6501, 6600, 6700, 6701, 6800, 6801, 6802, 9000, or 9999.

    • status string

      Execution status of the request sent to the payment gateway.

      • Completed - The request completed successfully.
      • Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried.
      • Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction.
      • Unknown

      Values are Completed, Rejected, Interrupted, or Unknown.

    • message string

      Developer-facing error message.

    • traceId string

      Unique trace identifier for tracking and debugging this request.

    • timestamp string(date-time)

      The timestamp when the error occurred (UTC).

    • errorDetails array[object]

      Represents a validation error that occurred during the request.

      Hide errorDetails attributes Show errorDetails attributes object

      Represents a validation error that occurred during the request.

      • code number

        Error code

      • field string

        The field with the error

      • message string

        Error message

      • details string

        Additional details about the error

GET /settlements
curl \
 --request GET 'https://api.omni.integratedcommerce.io/v1/settlements' \
 --header "x-api-key: $API_KEY"
Response examples (200)
{
  "totalCount": 2,
  "page": 1,
  "pageSize": 10,
  "totalPages": 1,
  "hasNextPage": false,
  "hasPreviousPage": false,
  "items": [
    {
      "id": "stl_01JZ5G4K8WQT2XB7RD9NVMC3EH",
      "type": "Card",
      "settlementDate": "2026-07-14",
      "currency": "USD",
      "amount": 121875,
      "fundingType": "Net",
      "netAmount": 121875,
      "transactionCount": 42,
      "status": "Settled"
    },
    {
      "id": "stl_01JZ5G4K8WYN6PSA3KTE5D2QVX",
      "type": "Ach",
      "settlementDate": "2026-07-14",
      "currency": "USD",
      "amount": 50000,
      "fundingType": "Gross",
      "netAmount": 50000,
      "transactionCount": 1,
      "status": "Settled"
    }
  ]
}
Response examples (400)
{
  "code": 2000,
  "status": "Rejected",
  "message": "Either 'date' or 'fromDate'/'toDate' must be provided",
  "traceId": "1-6838be96-74c62f8e2804352739e63476",
  "timestamp": "2026-07-01T20:07:50.4723483Z",
  "errorDetails": []
}
Response examples (401)
{
  "code": 1000,
  "status": "Rejected",
  "message": "API key cannot be empty",
  "traceId": "1-6838be96-74c62f8e2804352739e63476",
  "timestamp": "2025-05-29T20:07:50.4723483Z",
  "errorDetails": []
}