Statements

Statements

Creates a new statement record that does not already exist.

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

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

Request Body schema: application/json

The statement that you would like to be saved.

id
required
string (ID) /^[\w:|-]+$/

The unique, string identifier of this statement

number
number <float> (Number)

Statement #

customer_type
required
string (Customer Type)
Enum: "contact" "organization"
contact_id
required
string (Contact)
organization_id
required
string (Organization)
date
string (Date)

Statement date

open_balance
required
number <float> (Open Balance)

The balance on the statement

open_credits
required
number <float> (Open Credits)

The open credits on the statement

statement_uri
required
string (Statement Uri)

The statement

notes
string (Notes)
sys_deleted_by_id
string (Sys Deleted By)

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

sys_version
number <float> (Sys Version)

A number representing the version of this record in the database

sys_created_at
required
string <date-time> (Sys Created At)

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

sys_last_modified_at
required
string <date-time> (Sys Last Modified At)

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

sys_created_by_id
required
string (Sys Created By)

The ID of the user that created this record

sys_last_modified_by_id
required
string (Sys Last Modified By)

The ID of the user that last modified this record

sys_external_id
string (Sys External)

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

sys_locked
boolean (Sys Locked)

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

sys_bulk_load_pk
string (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_at
string (Sys Bulk Load At)

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

sys_bulk_load_id
string (Sys Bulk Load)

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

sys_bulk_load_record_no
number <float> (Sys Bulk Load Record No)

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

sys_bulk_load_source_file
string (Sys Bulk Load Source File)

If this record was loaded via bulk, the source file

sys_last_bulk_data_operation_id
string (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_version
string (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_directive
string (Sys Directive)

Means for passing directive information into an object processing logic

sys_calculated_field_error
string (Sys Calculated Field Error)

The error associated with the calculated field

sys_snapshot_base_version
number <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_has_files_in_s3
boolean (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_configuration_snapshot_id
string (Sys Configuration Snapshot)

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

sys_last_security_context
object (Sys Last Security Context)

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

Array of objects
Responses
200The statement was saved successfully.
400The statement you supplied was invalid.
401Unauthorized.
403Forbidden.
404The resource could not be found
409The statement could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to add statement based on tenant limits.
500General server error.
post/statements/{tenantId}
Request samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}
Response samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}

Returns a statement from the system by its ID.

This method will look up a statement by the specified ID and return it back.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the statement to return.

query Parameters
fields
string

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

consistentRead
string

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

Responses
200The statement was retrieved successfully.
400The request was not valid.
401Unauthorized.
403Forbidden.
404The statement could not be found.
429Limit exceeded... unable to retrieve statement based on tenant limits.
500General server error.
get/statements/{tenantId}/{id}
Request samples
curl -i -X GET \
  'https://collect.api.756794052567.rhythmsoftware.com/statements/:tenantId/:id?fields=string&consistentRead=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}

Updates a statement with the specified ID.

This method will update an existing statement with the specified ID.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the statement to update.

Request Body schema: application/json

The updated statement that will be saved.

id
required
string (ID) /^[\w:|-]+$/

The unique, string identifier of this statement

number
number <float> (Number)

Statement #

customer_type
required
string (Customer Type)
Enum: "contact" "organization"
contact_id
required
string (Contact)
organization_id
required
string (Organization)
date
string (Date)

Statement date

open_balance
required
number <float> (Open Balance)

The balance on the statement

open_credits
required
number <float> (Open Credits)

The open credits on the statement

statement_uri
required
string (Statement Uri)

The statement

notes
string (Notes)
sys_deleted_by_id
string (Sys Deleted By)

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

sys_version
number <float> (Sys Version)

A number representing the version of this record in the database

sys_created_at
required
string <date-time> (Sys Created At)

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

sys_last_modified_at
required
string <date-time> (Sys Last Modified At)

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

sys_created_by_id
required
string (Sys Created By)

The ID of the user that created this record

sys_last_modified_by_id
required
string (Sys Last Modified By)

The ID of the user that last modified this record

sys_external_id
string (Sys External)

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

sys_locked
boolean (Sys Locked)

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

sys_bulk_load_pk
string (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_at
string (Sys Bulk Load At)

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

sys_bulk_load_id
string (Sys Bulk Load)

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

sys_bulk_load_record_no
number <float> (Sys Bulk Load Record No)

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

sys_bulk_load_source_file
string (Sys Bulk Load Source File)

If this record was loaded via bulk, the source file

sys_last_bulk_data_operation_id
string (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_version
string (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_directive
string (Sys Directive)

Means for passing directive information into an object processing logic

sys_calculated_field_error
string (Sys Calculated Field Error)

The error associated with the calculated field

sys_snapshot_base_version
number <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_has_files_in_s3
boolean (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_configuration_snapshot_id
string (Sys Configuration Snapshot)

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

sys_last_security_context
object (Sys Last Security Context)

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

Array of objects
Responses
200The statement was updated successfully.
400The statement supplied was not valid.
401Unauthorized.
403Forbidden.
404The statement could not be found.
409The statement could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to retrieve statement based on tenant limits.
500General server error.
put/statements/{tenantId}/{id}
Request samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}
Response samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}

Partially updates a statement with the specified ID.

This method will patch an existing statement with the specified ID, using the HTTP PATCH specification.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the statement to patch.

Request Body schema: application/json

The patch directives conforming to RFC 6902.

Array
op
required
string (Op)

The operation

Enum: "add" "remove" "replace" "move" "copy" "test"
path
required
string (Path)

The JSON path

value
string (Value)
Responses
200The statement was patched successfully.
400The JSON patch directive you supplied was not valid.
401Unauthorized.
403Forbidden.
404The statement could not be found.
409The statement could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to retrieve statement based on tenant limits.
500General server error.
patch/statements/{tenantId}/{id}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "id": "string",
  • "number": 0,
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "date": "string",
  • "open_balance": 0,
  • "open_credits": 0,
  • "statement_uri": "string",
  • "notes": "string",
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_last_bulk_data_operation_id": "string",
  • "sys_last_bulk_data_operation_sys_version": "string",
  • "sys_directive": "string",
  • "sys_calculated_field_error": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_has_files_in_s3": true,
  • "sys_configuration_snapshot_id": "string",
  • "sys_last_security_context": { },
  • "sys_calculated_field_errors": [
    ]
}

Returns a statement from the system by its ID.

This method will delete a statement with the specified ID.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the statement to delete.

Responses
200The statement was deleted successfully.
400The request was not valid.
401Unauthorized.
403Forbidden.
404The statement could not be found.
409The statement could not be deleted because other objects refers to/depends on this one.
429Limit exceeded... unable to delete statement based on tenant limits.
500General server error.
delete/statements/{tenantId}/{id}
Request samples
curl -i -X DELETE \
  https://collect.api.756794052567.rhythmsoftware.com/statements/:tenantId/:id \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
"string"

Execute Batch Operations

TAllows you to perform up to 100 parallel patch/delete operations

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

Request Body schema: application/json

The batch request

Array of objects
Responses
200Request completed successfully.
400The request was not valid.
401Unauthorized.
403Forbidden.
404The statement could not be found.
429Limit exceeded... unable to retrieve statement based on tenant limits.
500General server error.
post/statements/{tenantId}/batch
Request samples
application/json
{
  • "operations": [
    ]
}
Response samples
application/json
{
  • "success_count": 0,
  • "error_count": 0,
  • "results": [
    ]
}

Generate/Send Customer Statement

Generates and optionally sends a customer statement

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed

Request Body schema: application/json

The domain_name to use to for record lookup

customer_type
required
string (Customer Type)
Enum: "contact" "organization"
contact_id
required
string (Contact)
organization_id
required
string (Organization)
email_statement
required
boolean (Email Statement)
email_address
string (Email Address)

Email address to send statement, if is on file

statement_template_id
string (Statement Template)

Template to use, if not the default

override_statement_template
string (Override Statement Template)

If set, a specific template is used

save_statement_on_customer_record
required
boolean (Save Statement On Customer Record)
invoice_type_restriction
string (Invoice Type Restriction)
Enum: "none" "exclude" "include"
invoice_types
Array of strings (Invoice Types)
Responses
200The invoice was downloaded successfully
400The request was not valid.
401Unauthorized
403Forbidden
404The invoice could not be found.
429Limit exceeded... unable to retrieve invoice based on tenant limits.
500General server error
post/statements/{tenantId}/generate
Request samples
application/json
{
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string",
  • "email_statement": true,
  • "email_address": "string",
  • "statement_template_id": "string",
  • "override_statement_template": "string",
  • "save_statement_on_customer_record": true,
  • "invoice_type_restriction": "none",
  • "invoice_types": [
    ]
}
Response samples
application/json
"string"

Returns a list of records with the specified contact_id

Returns a list of records with the specified contact_id

Request
Security:
path Parameters
tenantId
required
string

The tenant

contact_id
required
string

The contact_id to use to for record lookup

query Parameters
fields
string

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

exclusiveStartKey
string

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

Responses
200The records were retrieved successfully
400The request was not valid.
401Unauthorized.
403Forbidden
404Unable to locate records
429Limit exceeded... unable to retrieve records based on tenant limits.
500General server error
get/statements/{tenantId}/contact/{contact_id}
Request samples
curl -i -X GET \
  'https://collect.api.756794052567.rhythmsoftware.com/statements/:tenantId/contact/:contact_id?fields=string&exclusiveStartKey=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "Count": 0,
  • "Items": [
    ],
  • "LastEvaluatedKey": "string"
}

Returns a list of records with the specified organization_id

Returns a list of records with the specified organization_id

Request
Security:
path Parameters
tenantId
required
string

The tenant

organization_id
required
string

The organization_id to use to for record lookup

query Parameters
fields
string

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

exclusiveStartKey
string

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

Responses
200The records were retrieved successfully
400The request was not valid.
401Unauthorized.
403Forbidden
404Unable to locate records
429Limit exceeded... unable to retrieve records based on tenant limits.
500General server error
get/statements/{tenantId}/organization/{organization_id}
Request samples
curl -i -X GET \
  'https://collect.api.756794052567.rhythmsoftware.com/statements/:tenantId/organization/:organization_id?fields=string&exclusiveStartKey=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "Count": 0,
  • "Items": [
    ],
  • "LastEvaluatedKey": "string"
}

Sends out a preview of the notification template

Sends out a preview of the notification template

Request
Security:
path Parameters
tenantId
required
string

The tenant

Request Body schema: application/json

The domain_name to use to for record lookup

invoice_id
string (Invoice)
template
required
string (Template)
id
string (ID)

The refund id

customer_type
required
string (Customer Type)
Enum: "contact" "organization"
contact_id
required
string (Contact)
organization_id
required
string (Organization)
Responses
200The record was retrieved successfully
400The request was not valid.
401Unauthorized
403Forbidden
404Unable to locate any organizations with the specified domain
429Limit exceeded... unable to retrieve records based on tenant limits.
500General server error
post/statements/{tenantId}/previewTemplate
Request samples
application/json
{
  • "invoice_id": "string",
  • "template": "string",
  • "id": "string",
  • "customer_type": "contact",
  • "contact_id": "string",
  • "organization_id": "string"
}

Returns the default customer balance statement template

Returns the default customer balance statement template

Request
Security:
path Parameters
tenantId
required
string

The tenant

Responses
200The template
400The request was not valid.
401Unauthorized
403Forbidden
404The invoice could not be found.
429Limit exceeded... unable to retrieve invoice based on tenant limits.
500General server error
get/statements/{tenantId}/defaultStatementTemplate
Request samples
curl -i -X GET \
  https://collect.api.756794052567.rhythmsoftware.com/statements/:tenantId/defaultStatementTemplate \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "template": "string",
  • "email": {
    }
}