Collect (Finance & Billing) (v1-2025-04-18)

The Finance, or Collect, API provides all the accounts receivable capabilities in Rhythm. This includes all aspects of Invoices, Credits, Payments, Credit Memos, and Debit Memos. Additionally, this API manages Batches and Fiscal Periods and can be used to download batches for import into your accounting package.

Like most of the other Rhythm apps, the Collect API includes endpoints for Query Definitions. These endpoints are commonly used to retrieve saved queries, which can then be executed using the Query endpoints of the System API.

Download OpenAPI description
Languages
Servers
Mock server

https://docs.api.rhythmsoftware.com/_mock/apis/collect/collect-v1/

https://collect.api.rhythmsoftware.com/

Accounting Projects

Accounting Projects

Operations

Bank Accounts

Bank Accounts

Operations

Batch Assignment Settings

Batch Assignment Settings

Operations

Batch Downloading

Batch Downloading

Operations

Batch Posting

Batch Posting

Operations

Batch Templates

Batch Templates

Operations

Batches

Batches

Operations

Billing Notices

Billing Notices

Operations

Billing Run Actions

Billing Run Actions

Operations

Billing Runs

Billing Runs

Operations

Billing Templates

Billing Templates

Operations

Business Units

Business Units

Operations

Check Request Processes

Check Request Processes

Operations

Check Request Templates

Check Request Templates

Operations

Check Requests

Check Requests

Operations

Cogs Entries

Cogs Entries

Operations

Credit Memos

Credit Memos

Operations

Credits

Credits

Operations

Currency Mapping Policies

Currency Mapping Policies

Operations

Debit Memos

Debit Memos

Operations

Departments

Departments

Operations

Donation Products

Donation Products

Operations

Exchange Rates

Exchange Rates

Operations

External Payments

External Payments

Operations

Fiscal Years

Fiscal Years

Operations

Gateway Entities

Gateway Entities

Operations

Gateway Entries

Gateway Entries

Operations

Gateway Fees

Gateway Fees

Operations

Gl Accounts

Gl Accounts

Operations

Installment Plans

Installment Plans

Operations

Installment Schedules

Installment Schedules

Operations

Invoice Payment Terms

Invoice Payment Terms

Operations

Invoice Templates

Invoice Templates

Operations

Invoice Types

Invoice Types

Operations

Invoices

Invoices

Operations

Late Fee Rules

Late Fee Rules

Operations

Late Fees

Late Fees

Operations

Legacy Import Products

Legacy Import Products

Operations

Merchant Accounts

Merchant Accounts

Operations

Miscellaneous Products

Miscellaneous Products

Operations

Payment Receipt Templates

Payment Receipt Templates

Operations

Payments

Payments

Operations

Returns a list of records with the specified owner

Request

Returns a list of records with the specified owner

Path
tenantIdstringrequired

The tenant

ownerTypestringrequired

The type of owner

Enum"contact""organization"
ownerIdstringrequired

The ID of the owner

Query
fieldsstring

The fields that you want to retrieve; if omitted, the entire object is returned

exclusiveStartKeystring

If paging, this allows you to return the next set of results

includeAllPaymentsboolean

If set, all payments are returned regardless of balance

curl -i -X GET \
  'https://docs.api.rhythmsoftware.com/_mock/apis/collect/collect-v1/payments/{tenantId}/owner/{ownerType}/{ownerId}?exclusiveStartKey=string&fields=string&includeAllPayments=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The records were retrieved successfully

Headers
Access-Control-Allow-Headersstring
Access-Control-Allow-Methodsstring
Access-Control-Allow-Originstring
Bodyapplication/json
Countinteger
ItemsArray of objects(Payment)
LastEvaluatedKeystring
Response
application/json
{ "Count": 0, "Items": [ {} ], "LastEvaluatedKey": "string" }

Gets all of the payments in the system for a given contact.

Request

This method will scan all payments and and return them to the caller for a given contact.

Path
tenantIdstringrequired

The id of the tenant being accessed.

portalContactIdstringrequired

The contact to use

Query
fieldsstring

The fields that you want to retrieve; if omitted, the entire object is returned.

curl -i -X GET \
  'https://docs.api.rhythmsoftware.com/_mock/apis/collect/collect-v1/payments/{tenantId}/portal/contact/{portalContactId}?fields=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The paymentswere retrieved successfully.

Headers
Access-Control-Allow-Headersstring
Access-Control-Allow-Methodsstring
Access-Control-Allow-Originstring
Bodyapplication/json
Countinteger
ItemsArray of objects(Payment)
LastEvaluatedKeystring
Response
application/json
{ "Count": 0, "Items": [ {} ], "LastEvaluatedKey": "string" }

Returns a payment from the system by its ID for a given contact.

Request

This method will look up a payment by the specified ID and return it back (for a portal contact)

Path
tenantIdstringrequired

The id of the tenant being accessed.

portalContactIdstringrequired

The contact to use

idstringrequired

The ID of the payment to return.

Query
fieldsstring

The fields that you want to retrieve; if omitted, the entire object is returned.

consistentReadstring

Indicates the API should force a consistent read on the data source.

curl -i -X GET \
  'https://docs.api.rhythmsoftware.com/_mock/apis/collect/collect-v1/payments/{tenantId}/portal/contact/{portalContactId}/{id}?consistentRead=string&fields=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The payment was retrieved successfully.

Headers
Access-Control-Allow-Headersstring
Access-Control-Allow-Methodsstring
Access-Control-Allow-Originstring
Bodyapplication/json
amount_pending_capturenumber(double)(Amount Pending Capture)

The amount of payment yet to be captured

bank_account_idstring(Bank Account)required

The bank account to use for this payment

base_currency_codestring(Base Currency Code)= 3 characters

The base currency for transactions business unit

base_currency_symbolstring(Base Currency Symbol)

The base symbol for the transactions business unit

batch_idstring(Batch)required

The batch this transaction belongs to

billing_addressobject(Address)

A complete address

billing_run_action_idstring(Billing Run Action)

The billing run action that created this order; we track it here only to pass it back through the billing service

billing_run_idstring(Billing Run)

If this is part of a billing run, the ID

billing_run_servicestring(Billing Run Service)

If initiated by a billing run, the relevant service

business_unit_idstring(Business Unit)required

The business unit this transaction belongs to

cancellation_idstring(Cancellation)

The order cancellation tied to this transaction

capturesArray of objects
card_expirationstring(date)(Card Expiration)

The card expiration

card_last_digitsstring(Card Last Digits)

The last 4 digits of the card that was processed

card_typestring(Card Type)

The card type

cash_account_typestring(Cash Account Type)required

Type of cash account to use

Enum"bank""merchant""none"
contact_idstring(Contact)required

The contact that owns the payment

currency_codestring(Currency Code)= 3 characters

The currency code in use

Enum"AED""AFN""ALL""AMD""ANG""AOA""ARS""AUD""AWG""AZN"
currency_symbolstring(Currency Symbol)

The currency symbol

custom_field_valuesArray of objects(Custom Field Values)
datestring(date)(Date)

The date of the transaction

electronic_payment_infoobject(Electronic Payment Info)required
electronic_payment_info.​card_expirationstring(date)(Card Expiration)

The card expiration

electronic_payment_info.​card_typestring(Card Type)

The type of card being used, or CHECK if electronic check

Enum"american express""discover""electronic check""mastercard""other""visa"
electronic_payment_info.​payment_accountstring(Payment Account)

The masked payment account information

electronic_payment_info.​payment_originstring(Payment Origin)required

Whether or not this is a saved payment method

Enum"ad hoc""saved"
electronic_payment_info.​tokenstring(Token)required

The token representing the card/electronic check info

exchange_ratenumber(double)(Exchange Rate)

The exchange rate, if applicable

idstring(ID)^[\w|-]+$required

The unique, string identifier of this payment

installment_schedule_idstring(Installment Schedule)

If this is tied to an installment schedule

legacy_processorboolean(Legacy Processor)

If true, this payment was run using the legacy processor of the merchant account

line_itemsArray of objectsnon-emptyrequired
One of:
line_items[].​payment_line_item_idstring(Payment Line Item)required

Line item id of the payment

line_items[].​total_in_base_currencynumber(double)(Total In Base Currency)required

The total of the transaction, in the base currency of the business unit.

line_items[].​amount_refundednumber(double)(Amount Refunded)required

The amount that was refunded

line_items[].​bundled_product_1object(Bundled Product 1)
line_items[].​bundled_product_2object(Bundled Product 2)
line_items[].​credit_idCredit (string)(Credit)

ID of the credit that was generated

One of:

ID of the credit that was generated

string(Credit)

ID of the credit that was generated

line_items[].​enable_auto_renewalboolean(Enable Auto Renewal)

If set, the host record should turn on auto renewal using this payment info

line_items[].​invoice_currency_codestring(Invoice Currency Code)= 3 characters

The currency code in use

Enum"AED""AFN""ALL""AMD""ANG""AOA""ARS""AUD""AWG""AZN"
line_items[].​invoice_exchange_ratenumber(float)(Invoice Exchange Rate)

The exchange rate, if applicable

line_items[].​invoice_idInvoice (string)(Invoice)

Id of the invoice being paid

One of:

Id of the invoice being paid

string(Invoice)

Id of the invoice being paid

line_items[].​invoice_line_item_balance_due_after_paymentnumber(double)(Invoice Line Item Balance Due After Payment)

Balance due on the invoice after payment was applied

line_items[].​invoice_line_item_balance_due_at_the_time_of_paymentnumber(double)(Invoice Line Item Balance Due At The Time Of Payment)

The line item balance due at the time of payment

line_items[].​invoice_line_item_idstring(Invoice Line Item)

Line item id of the invoice

line_items[].​invoice_line_item_total_at_the_time_of_paymentnumber(double)(Invoice Line Item Total At The Time Of Payment)

Invoice line item total when payment was made

line_items[].​invoice_version_at_the_time_of_paymentnumber(float)(Invoice Version At The Time Of Payment)

The version of the invoice object at the time of payment

line_items[].​primary_product_totalnumber(float)(Primary Product Total)

When inline bundling is used, this is the total amount for the primary product

line_items[].​product_idstring(Product)

If this payment is for an invoice item, the product id

line_items[].​product_typestring(Product Type)

If this payment is for an invoice item, the product type/microservice

line_items[].​related_transactionsArray of objects
line_items[].​totalnumber(double)(Total)required

Total of the line item

line_items[].​total_in_invoice_currencynumber(double)(Total In Invoice Currency)

The total of the transaction, in the currency of the invoice.

line_items[].​typestring(Type)required

Type of payment line item

Enum"credit usage""invoice""overpayment"
memostring(Memo)

Memo/description of the transaction

merchant_account_idstring(Merchant Account)required

The merchant account to use for this payment

notesstring(Notes)

Notes fro the transaction

numberinteger(Number)required

The transaction number

order_idstring(Order)

The order tied to this transaction

organization_idstring(Organization)required

The organization that owns the payment

owner_typestring(Owner Type)required

The type of owner

Enum"contact""organization"
payment_that_this_transaction_reverses_idstring(Payment That This Transaction Reverses)

The name of the payment that THIS payment reverses or backs out

reference_numberstring(Reference Number)

A reference number to be used for the payment

return_idstring(Return)

The return tied to this transaction

send_email_confirmationboolean(Send Email Confirmation)

Whether to send an email confirmation

send_receipt_tostring(Send Receipt To)

The email address(es) to send receipts

settlement_discrepancynumber(float)(Settlement Discrepancy)

The difference between the total in base currency and the amount actually settled

statusstring(Status)
Enum"complete""partially refunded""refunded""reversed""void"
sys_bulk_load_atstring(Sys Bulk Load At)

If this record was loaded via bulk, the timestamp when the record was processed

sys_bulk_load_idstring(Sys Bulk Load)

If this record was loaded via bulk, the ID of the bulk load process

sys_bulk_load_pkstring(Sys Bulk Load Pk)

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_nonumber(float)(Sys Bulk Load Record No)

If this record was loaded via bulk, the record number in the source file

sys_bulk_load_source_filestring(Sys Bulk Load Source File)

If this record was loaded via bulk, the source file

sys_calculated_field_errorstring(Sys Calculated Field Error)

The error associated with the calculated field

sys_calculated_field_errorsArray of objects
sys_configuration_snapshot_idstring(Sys Configuration Snapshot)

If a snapshot was restored/applies to this record, the ID of the snapshot

sys_created_atstring(date-time)(Sys Created At)required

The date/time that this record was created, expressed in ISO-8601 date format

sys_created_by_idstring(Sys Created By)required

The ID of the user that created this record

sys_deleted_by_idstring(Sys Deleted By)

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

sys_directivestring(Sys Directive)

Means for passing directive information into an object processing logic

sys_external_idstring(Sys External)

The ID that a record has from an external system or data import

sys_has_files_in_s3boolean(Sys Has Files In S3)

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_idstring(Sys Last Bulk Data Operation)

If this record was last touched by a bulk data operation, the ID of that operation

sys_last_bulk_data_operation_sys_versionstring(Sys Last Bulk Data Operation Sys Version)

If this record was last touched by a bulk data operation, the sys_version at the time of that operation

sys_last_modified_atstring(date-time)(Sys Last Modified At)required

The date/time that this record record was last modified, expressed in ISO-8601 date format

sys_last_modified_by_idstring(Sys Last Modified By)required

The ID of the user that last modified this record

sys_last_security_contextobject(Sys Last Security Context)

The security context of the last insert, modify, or delete performed on this item

sys_lockedboolean(Sys Locked)

If set, this record is locked and cannot be changed via the API

sys_search_composite_keystring(Sys Search Composite Key)

Internal use

sys_search_credit_card_typestring(Sys Search Credit Card Type)

Internal use

sys_search_transaction_idstring(Sys Search Transaction)

Internal use

sys_snapshot_base_versionnumber(float)(Sys Snapshot Base Version)

The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

sys_versionnumber(float)(Sys Version)

A number representing the version of this record in the database

totalnumber(double)(Total)required

The transaction total

total_in_base_currencynumber(double)(Total In Base Currency)required

The transaction total in base currency

total_settled_in_base_currencynumber(float)(Total Settled In Base Currency)

The amount settled, in base currency

transaction_idstring(Transaction)

The transaction id of the capture

typestring(Type)required

The type of payment

Enum"ach""cash""cashiers check""check""credit card""electronic check""money order""offline credit card""payroll deduction""purchase order"
uses_v2_apiboolean(Uses V2 Api)

If set, this payment was processed via the synchronous API, vs step functions

was_generated_by_orderboolean(Was Generated By Order)

If this was generated by the order process

workflow_execution_idstring(Workflow Execution)

The ID of the state machine execution used to create this transaction

Response
application/json
{ "amount_pending_capture": 0.1, "bank_account_id": "string", "base_currency_code": "str", "base_currency_symbol": "string", "batch_id": "string", "billing_address": { "city": "string", "country": "string", "country_name": "string", "county": "string", "latitude": 0.1, "line1": "string", "line2": "string", "line3": "string", "longitude": 0.1, "postal_code": "string", "state": "string", "time_zone_id": "string" }, "billing_run_action_id": "string", "billing_run_id": "string", "billing_run_service": "string", "business_unit_id": "string", "cancellation_id": "string", "captures": [ {} ], "card_expiration": "2019-08-24", "card_last_digits": "string", "card_type": "string", "cash_account_type": "bank", "contact_id": "string", "currency_code": "AED", "currency_symbol": "string", "custom_field_values": [ {} ], "date": "2019-08-24", "electronic_payment_info": { "card_expiration": "2019-08-24", "card_type": "american express", "payment_account": "string", "payment_origin": "ad hoc", "token": "string" }, "exchange_rate": 0.1, "id": "string", "installment_schedule_id": "string", "legacy_processor": true, "line_items": [ {} ], "memo": "string", "merchant_account_id": "string", "notes": "string", "number": 0, "order_id": "string", "organization_id": "string", "owner_type": "contact", "payment_that_this_transaction_reverses_id": "string", "reference_number": "string", "return_id": "string", "send_email_confirmation": true, "send_receipt_to": "string", "settlement_discrepancy": 0.1, "status": "complete", "sys_bulk_load_at": "string", "sys_bulk_load_id": "string", "sys_bulk_load_pk": "string", "sys_bulk_load_record_no": 0.1, "sys_bulk_load_source_file": "string", "sys_calculated_field_error": "string", "sys_calculated_field_errors": [ {} ], "sys_configuration_snapshot_id": "string", "sys_created_at": "2019-08-24T14:15:22Z", "sys_created_by_id": "string", "sys_deleted_by_id": "string", "sys_directive": "string", "sys_external_id": "string", "sys_has_files_in_s3": true, "sys_last_bulk_data_operation_id": "string", "sys_last_bulk_data_operation_sys_version": "string", "sys_last_modified_at": "2019-08-24T14:15:22Z", "sys_last_modified_by_id": "string", "sys_last_security_context": {}, "sys_locked": true, "sys_search_composite_key": "string", "sys_search_credit_card_type": "string", "sys_search_transaction_id": "string", "sys_snapshot_base_version": 0.1, "sys_version": 0.1, "total": 0.1, "total_in_base_currency": 0.1, "total_settled_in_base_currency": 0.1, "transaction_id": "string", "type": "ach", "uses_v2_api": true, "was_generated_by_order": true, "workflow_execution_id": "string" }

Product Financial Configs

Product Financial Configs

Operations

Query Definitions

Query Definitions

Operations

Recurring Batches

Recurring Batches

Operations

Recurring Billing Runs

Recurring Billing Runs

Operations

Refund Receipt Templates

Refund Receipt Templates

Operations

Refunds

Refunds

Operations

Revenue Recognition Schedules

Revenue Recognition Schedules

Operations

Settings

Settings

Operations

Statement Templates

Statement Templates

Operations

Statements

Statements

Operations

Statistics

Statistics

Operations

Stored Payment Methods

Stored Payment Methods

Operations

Subledger Entries

Subledger Entries

Operations

Write Offs

Write Offs

Operations