List Settled Transactions

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/transactions

Returns a paginated list of settled transactions for a given date or date range, based on the settlement date. Each item is enriched with the summary of the settlement it belongs to.

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, only unmatched lines: ?fromDate=2026-07-01&toDate=2026-07-07&filters=matchStatus==Unmatched
  • 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, matchStatus, amount. 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, matchStatus, amount. 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 settled transactions

    Hide response attributes Show response attributes object
    • totalCount integer Required

      Total number of settled transactions 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 settled transactions for the current page

      Hide items attributes Show items attributes object

      A settled transaction in the settled-transactions-by-date-range list, enriched with the summary of its parent settlement.

      • settlement object Required

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

        Hide settlement attributes Show settlement attributes object
        • 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.

      • transactionId string

        The Fiska transaction ID, prefixed with trx_. Absent when matchStatus is Unmatched - look it up via GET /transactions (e.g. ?filters=id==trx_...) for full transaction detail.

      • transactionType string Required

        The kind of settled transaction.

        Sale: A sale that deposited funds to the merchant.

        Refund: A refund/credit returned to the cardholder or payer (reduces the net deposit).

        Capture: The capture/settlement of a previously authorized transaction.

        Return: A payout the provider tried to make and could not - for ACH, typically a closed or invalid bank account - so no money reached the merchant. The line exists because the attempt still cost a fee: nothing was disbursed, so for a net-funded rail amount is that fee as a negative, and for a gross-funded one it is zero and the fee is billed separately. Unlike a Refund, no money moved in the first place, so nothing is deducted from the deposit beyond that fee.

        Values are Sale, Refund, Capture, or Return.

      • gatewayTransactionId string Required

        The gateway's own transaction ID.

      • batchId string

        The processor's own batch number this transaction was settled in (informational). Present for card settlements; absent for providers with no native batch concept (e.g. ACH).

      • matchStatus string Required

        Whether the settled transaction has been matched to a Fiska transaction.

        Unmatched: No Fiska transaction has been identified for this settled line; transactionId is absent.

        Matched: Automatically matched to a Fiska transaction.

        ManuallyMatched: Matched to a Fiska transaction by manual reconciliation.

        Values are Unmatched, Matched, or ManuallyMatched.

      • invoiceNumber string

        Populated from the matched Fiska transaction, when one exists.

      • paymentType string

        Populated from the matched Fiska transaction's card type, when one exists.

      • settlementDate string(date) Required

        The date the transaction was settled - the parent settlement's deposit date.

      • transactionDate string(date-time)

        The date the underlying transaction was processed, when reported.

      • amount integer Required

        The amount deposited for this transaction as it landed - what the merchant sees hit their bank account. Smallest denomination. Signed: negative for a refund, and for a line whose own withheld fees exceeded what it disbursed (a Return disburses nothing, so a net-funded line's amount is the fee alone, as a negative).

        Any fee withheld here is also itemized by GET /fee-charges - this field is the money that moved, those records show what was taken out of it. Fees are withheld per line only where the provider assesses them that way (e.g. an ACH transaction fee) and only where the rail is net funded; card fees are assessed against the deposit as a whole and reference no line, so a card line's amount is its full settled amount.

      • fundingType string Required

        Whether the rail this line settled 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.

      • currency string Required

        Values are USD or CAD.

  • 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/transactions
curl \
 --request GET 'https://api.omni.integratedcommerce.io/v1/settlements/transactions' \
 --header "x-api-key: $API_KEY"
Response examples (200)
{
  "totalCount": 2,
  "page": 1,
  "pageSize": 10,
  "totalPages": 1,
  "hasNextPage": false,
  "hasPreviousPage": false,
  "items": [
    {
      "settlement": {
        "id": "stl_01JZ5F0M3SXA6PDH8YT2M4QWCN",
        "type": "Card",
        "settlementDate": "2026-07-01",
        "currency": "USD",
        "amount": 121875,
        "fundingType": "Net",
        "netAmount": 121875,
        "transactionCount": 42,
        "status": "Settled"
      },
      "transactionId": "trx_01JZ5EXH9GVK3M7T2QSBWD48RC",
      "transactionType": "Sale",
      "gatewayTransactionId": "1120000006864180230",
      "batchId": "2616201",
      "matchStatus": "Matched",
      "invoiceNumber": "INV-10432",
      "paymentType": "Visa",
      "settlementDate": "2026-07-01",
      "transactionDate": "2026-06-30T18:22:41Z",
      "amount": 5000,
      "fundingType": "Net",
      "netAmount": 5000,
      "currency": "USD"
    },
    {
      "settlement": {
        "id": "stl_01JZ5F0M3SXA6PDH8YT2M4QWCN",
        "type": "Card",
        "settlementDate": "2026-07-01",
        "currency": "USD",
        "amount": 121875,
        "fundingType": "Net",
        "netAmount": 121875,
        "transactionCount": 42,
        "status": "Settled"
      },
      "transactionType": "Sale",
      "gatewayTransactionId": "1120000006863240617",
      "batchId": "2616301",
      "matchStatus": "Unmatched",
      "settlementDate": "2026-07-01",
      "amount": 2500,
      "fundingType": "Net",
      "netAmount": 2500,
      "currency": "USD"
    }
  ]
}
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": []
}