Search revenue scheduling templates
Operation ID: searchRevenueSchedulingTemplate
Group: Accounting › Revenue Scheduling Templates
Open in the interactive reference
POST /accounting/revenue-scheduling-templates/search
Read-only: A read that takes its filters in the body. Changes nothing, and ignores Idempotency-Key.
Searches revenue scheduling templates.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Request body
Required, application/json: searchRevenueSchedulingTemplateInput.
| Field | Type | Required | Description |
|---|---|---|---|
filters |
object | no | The filters to apply. A revenue scheduling template must match every filter you send. Omit to return all revenue scheduling templates. |
filters.id |
string | no | Limits results to the revenue scheduling template with this identifier. The match is exact. |
filters.revenueSchedulingTemplateNumber |
string | no | Limits results to the template with this template number. The match is exact. |
filters.revenueSchedulingTemplateName |
string | no | Limits results to the template with this exact name. The match is case-sensitive. Takes precedence over nameContains when both are sent. |
filters.nameContains |
string | no | Limits results to templates whose name contains this text. The match is case-insensitive. Ignored when revenueSchedulingTemplateName is also sent. |
filters.revenueRecognitionPattern |
string | no | Limits results to templates with this recognition pattern. Possible values: 'upfront', 'overTime', 'asDelivered', 'asConsumed'. Any other value matches nothing. |
filters.revenueSchedulingEvent |
string | no | Limits results to templates triggered by this event. Possible values: 'revenueArrangementCreation', 'uponInvoicing', 'uponUsageConsumption', 'manualRelease', 'uponInvoicingPercentInvoiced', 'uponInvoicingFullAmount', 'serviceActivation'. Any other value matches nothing. |
filters.amortizationMethod |
string | no | Limits results to templates with this amortization method. Possible values: 'exactDays', 'pointInTime', 'straightLineProRateFirstLast', 'straightLine', 'usageBased'. Any other value matches nothing. |
page |
object | no | Pagination controls. Omit for the first page. |
page.cursor |
string | no | The cursor from the previous response's pagination.nextCursor. Omit on the first request. |
page.size |
number | no | The number of templates per page. Defaults to 50. A value above 200 is treated as 200, not rejected. |
{
"filters": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"revenueSchedulingTemplateNumber": "<revenueSchedulingTemplateNumber>",
"revenueSchedulingTemplateName": "<revenueSchedulingTemplateName>",
"nameContains": "<nameContains>",
"revenueRecognitionPattern": "<revenueRecognitionPattern>",
"revenueSchedulingEvent": "<revenueSchedulingEvent>",
"amortizationMethod": "<amortizationMethod>"
},
"page": {
"cursor": "<cursor>",
"size": 0
}
}
Response
200 Success
Under data (searchRevenueSchedulingTemplateOutput):
| Field | Type | Required | Description |
|---|---|---|---|
items |
array<object> | yes | The revenue scheduling templates that match, most recently created first. An empty array when nothing matches. |
items[].id |
string | yes | The unique identifier for the revenue scheduling template. |
items[].revenueSchedulingTemplateNumber |
string | no | The template number, unique within the tenant, for example 'RST-0007'. Absent while none has been assigned. |
items[].revenueSchedulingTemplateName |
string | yes | The name of the revenue scheduling template. |
items[].revenueRecognitionPattern |
string | yes | How revenue is recognized under this template. Possible values: 'upfront', 'overTime', 'asDelivered', 'asConsumed'. |
items[].revenueSchedulingEvent |
string | yes | The event that creates a revenue plan under this template. Possible values: 'revenueArrangementCreation', 'uponInvoicing', 'uponUsageConsumption', 'manualRelease', 'uponInvoicingPercentInvoiced', 'uponInvoicingFullAmount', 'serviceActivation'. |
items[].amortizationMethod |
string | no | How the scheduled amount is spread over the plan's periods. Possible values: 'exactDays', 'pointInTime', 'straightLineProRateFirstLast', 'straightLine', 'usageBased'. Absent when the recognition pattern does not spread revenue over time. |
items[].lastModifiedDate |
date-time | yes | The date and time the revenue scheduling template last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
pagination |
object | yes | The pagination cursor for this page. |
pagination.nextCursor |
string | no | The cursor for the next page. Pass it as page.cursor. Absent on the last page. |
pagination.hasMore |
boolean | yes | True when more matches remain beyond this page. |
{
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"revenueSchedulingTemplateNumber": "<revenueSchedulingTemplateNumber>",
"revenueSchedulingTemplateName": "<revenueSchedulingTemplateName>",
"revenueRecognitionPattern": "<revenueRecognitionPattern>",
"revenueSchedulingEvent": "<revenueSchedulingEvent>",
"amortizationMethod": "<amortizationMethod>",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"nextCursor": "<nextCursor>",
"hasMore": true
}
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error