Search Performance Obligation

POST /accounting/performance-obligations/search

Group: Accounting › Performance Obligations · Operation ID: searchPerformanceObligation

Returns the performance obligations that match the given filters, each with its standalone selling price ranges. The obligation's product mappings come from GET accounting/performance-obligations/:id/products.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "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: searchPerformanceObligationInput.

Field Type Required Description
filters object no The filters to apply. A performance obligation must match every filter you send. Omit to return all performance obligations.
filters.id string no Limits results to the performance obligation with this identifier.
filters.performanceObligationNumber string no Limits results to the performance obligation with this number, for example 'POB-1042'.
filters.name string no Limits results to performance obligations whose name contains this text. The match is case-insensitive.
filters.revenueSchedulingTemplateId string no Limits results to obligations scheduled by the revenue scheduling template with this identifier. An identifier matching no template returns an empty page.
filters.standaloneSellingPriceRangeType string no Limits results to obligations whose standalone selling price ranges are expressed this way. Accepted values: 'percentage', 'amount'. Any other value matches nothing.
filters.isAllocationExcluded boolean no Limits results by whether the obligation's revenue contract lines are left out of fair-value allocation.
filters.productId string no Limits results to obligations that have a product line for the product with this identifier. An identifier matching no product, or a product no obligation covers, returns an empty page.
page object no The pagination controls. Omit for the first page.
page.cursor string no The cursor from the previous response's pagination.nextCursor. Omit for the first page.
page.size number no The number of performance obligations per page. Defaults to 50. A value above 200 is treated as 200, not rejected.

Example:

{
  "filters": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "performanceObligationNumber": "<performanceObligationNumber>",
    "name": "<name>",
    "revenueSchedulingTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "standaloneSellingPriceRangeType": "<standaloneSellingPriceRangeType>",
    "isAllocationExcluded": true,
    "productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  },
  "page": {
    "cursor": "<cursor>",
    "size": 0
  }
}

Response

200 Success

Under data (searchPerformanceObligationOutput):

Field Type Required Description
items array of object yes The performance obligations on this page, newest first. An empty array when nothing matches.
items[].id string yes The unique identifier for the performance obligation.
items[].performanceObligationNumber string no The performance obligation number. Absent while none has been assigned.
items[].name string yes The display name of the performance obligation, as it appears on revenue contracts and schedules.
items[].description string no A free-form description of what the obligation covers. Absent when none is set.
items[].effectiveStartDate string (date) yes The first date this obligation is in effect. Format YYYY-MM-DD.
items[].effectiveEndDate string (date) no The last date this obligation is in effect. Format YYYY-MM-DD. Absent when the obligation is open-ended.
items[].allocationStartDate string (date) no The date from which revenue for this obligation takes part in allocation. Format YYYY-MM-DD. Absent when none is set.
items[].isAllocationExcluded boolean yes Whether the revenue contract lines of this obligation are left out of fair-value allocation.
items[].isNetAccounting boolean yes Whether the obligation is accounted net rather than gross.
items[].defaultAmortizationMethod string no The default amortization method used when scheduling this obligation's revenue. Possible values: 'exactDays', 'pointInTime', 'straightLineProRateFirstLast', 'straightLine', 'usageBased'.
items[].standaloneSellingPriceRangeType string no How the obligation's standalone selling price ranges are expressed. Possible values: 'percentage', 'amount'.
items[].revenueSchedulingTemplateId string no The unique identifier for the revenue scheduling template that schedules this obligation's revenue. See id on GET accounting/revenue-scheduling-templates/:id.
items[].revenueSchedulingTemplateName string no The name of the revenue scheduling template that schedules this obligation's revenue.
items[].standaloneSellingPriceStratificationConfigurationId string no The unique identifier for the standalone selling price stratification configuration this obligation stratifies by. Absent when none is set. There is no endpoint for it.
items[].lastModifiedDate string (date-time) yes The date and time the performance obligation last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
items[].standaloneSellingPriceRanges array of object no The obligation's standalone selling price ranges, one per product and effective period. An empty array when none are configured. Which of the amount and percentage fields are set follows each range's rangeType.
items[].standaloneSellingPriceRanges[].id string no The unique identifier for the standalone selling price range.
items[].standaloneSellingPriceRanges[].rangeNumber string no The standalone selling price range number.
items[].standaloneSellingPriceRanges[].rangeType string no How this range is expressed. Possible values: 'percentage', 'amount'.
items[].standaloneSellingPriceRanges[].currency string no The currency the amounts are given in. Format ISO 4217, for example 'USD'. Absent on a percentage range.
items[].standaloneSellingPriceRanges[].effectiveStartDate string (date) yes The first date this range applies. Format YYYY-MM-DD.
items[].standaloneSellingPriceRanges[].effectiveEndDate string (date) no The last date this range applies. Format YYYY-MM-DD. Absent when the range is open-ended.
items[].standaloneSellingPriceRanges[].lowAmount string (decimal) no The lower bound of the standalone selling price, in the range currency. Set on an amount range.
items[].standaloneSellingPriceRanges[].midAmount string (decimal) no The midpoint of the standalone selling price, in the range currency. Set on an amount range.
items[].standaloneSellingPriceRanges[].highAmount string (decimal) no The upper bound of the standalone selling price, in the range currency. Set on an amount range.
items[].standaloneSellingPriceRanges[].lowPercentage string (decimal) no The lower bound of the standalone selling price, as a percentage of list price. Set on a percentage range.
items[].standaloneSellingPriceRanges[].midPercentage string (decimal) no The midpoint of the standalone selling price, as a percentage of list price. Set on a percentage range.
items[].standaloneSellingPriceRanges[].highPercentage string (decimal) no The upper bound of the standalone selling price, as a percentage of list price. Set on a percentage range.
items[].standaloneSellingPriceRanges[].term string no The period the range's prices are quoted over. Possible values: 'monthly', 'annually', 'none'.
items[].standaloneSellingPriceRanges[].unitOfMeasure string no The unit the range's prices are quoted per.
items[].standaloneSellingPriceRanges[].productId string no The product this range prices. Absent on a range that applies to the whole obligation. See id on GET accounting/products/:id.
items[].standaloneSellingPriceRanges[].productCode string no The code of that product.
items[].standaloneSellingPriceRanges[].productName string no The name of that product.
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 performance obligations remain beyond this page.

Statuses