API Overview

Learn how API versioning, URL paths, pagination, request encoding, and error responses work.

Versioning

The API is currently at version 1.0. Include the API version in the path for all endpoints except authentication.

URL Paths

Send authentication requests to /auth/signin. Send all other API requests to sub-paths of /rp/api/1.0/....



Pagination

Use offset and limit query parameters for paginated endpoints.

ParameterDescription
offsetZero-based index of the first item to return
limitNumber of items to return

Example: To fetch the first 10 items:

GET /rp/api/1.0/some-endpoint?offset=0&limit=10

To fetch the next 10 items:

GET /rp/api/1.0/some-endpoint?offset=10&limit=10

Responses are returned as a JSON array. If more results are available, the response includes the following header:

query-has-more: true

Request Encoding

  • Encode parameters for GET and DELETE requests as URL query parameters.
  • Encode Boolean values as true or false — not 1 or 0.

Errors

Errors are returned as JSON objects. For example, a 400 Bad Request response looks like this:

{
  "errors": [
    {
      "errorType": "ValidationError",
      "description": "The value of Name must be a string with a minimum length of 1 and a maximum length of 8 and not whitespace.",
      "field": "Name",
      "values": [null]
    }
  ],
  "title": "One or more validation errors occurred.",
  "status": 400,
  "instance": "api/v1/accounts/0/persons",
  "requestUid": "123e4567-e89b-12d3-a456-426614174000"
}

Error Object Fields

FieldTypeDescription
errorTypestringThe type of error (e.g. ValidationError)
descriptionstringA human-readable description of the error
fieldstringThe request field that caused the error
valuesarrayThe value or values that triggered the error
titlestringSummary of the error
statusintegerHTTP status code
instancestringThe endpoint path where the error occurred
requestUidstringA unique request ID, useful for support