Public API GETs and PATCHes

Parameter Usages on GET calls All of these functions can be used with the Get requests since they share this functionality. (ex. GET api/Tasks, GET api/ApplicationTypes, etc)

Pagination

Calling Get without any parameters by default will just include the first 25 records. Pagination supports ordering (sorting) and page size manipulation. Query Parameters:

Parameter Description Default Value Possible Values
orderby Sets the sorting of the pagination ID Comma separated list or single value of the properties of the object (e.g. Name,Description). Use a space then Asc/Desc to determine direction. If no direction is specified then Asc is assumed.
skip How many records to skip 0 Any integer value
take How many records to take 25 Any integer value. Use in conjunction with skip to paginate results for a performant experience querying data.

Example call:

GET api/Tasks?orderby=CompletedOn Desc&take=25&skip=0 - retrieve records 1-25 GET api/Tasks?orderby=CompletedOn Desc&take=25&skip=25 - retrieve records 26-50

Filtering

Filtering can be applied to any of the GET calls that return a list. Almost any property on the object can be used for filtering. The name of the property should act as the parameter and then the value as the value to filter on. By default, this filtering only works with exact matches. However, by using the fuzzy and extFilter filter rules, more complex comparisons can be made.

Note: if an object allows for logical deletion (has a "Deleted" flag), then deleted records are automatically filtered out unless Deleted=true is specified.

Example

GET api/Tasks?TaskExternalMessagingID=2 - returns the task(s) that have 2 as the value for TaskExternalMessagingID

Fuzzy And ExtFilter

Parameter Description Default Value Possible Values
fuzzy If present, operation will be a "Contains" operation Enabled if present (no value needed) ex. ?fuzzy&Description=lube will search for the term "lube" in all task descriptions
extFilter If present, will override fuzzy false true/false See more information in the section below for usage

ExtFilters

If extFilter is present, it allows you to indicate the operation that you would like to make. The options are as follows:

Operation Description
ne Not Equals
gt Greater Than
ge Greater Than or Equal to
lt Less Than
le Less Than or Equal to

These are to be entered with a space after the value being compared.

Example

GET api/Tasks?TaskExternalMessagingID=2 le&extFilter=true - returns the task(s) that have 2 or less as the value for TaskExternalMessagingID GET api/Tasks?CompletedOn=null ne&extFilter=true - Get all tasks that are completed

PATCH Endpoint Examples

Rename a task and descriptions

Original

{ "Description" : "Sample Description" }

Patch

[ {"op": "replace", "path": "/Description", "value": "Public API PATCH Test"} ]

After Patch

{ "Description" : "Public API PATCH Test" }

More advanced examples here: https://jsonpatch.com/