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.
| Parameter | Description |
|---|---|
offset | Zero-based index of the first item to return |
limit | Number of items to return |
Example: To fetch the first 10 items:
GET /rp/api/1.0/some-endpoint?offset=0&limit=10To fetch the next 10 items:
GET /rp/api/1.0/some-endpoint?offset=10&limit=10Responses are returned as a JSON array. If more results are available, the response includes the following header:
query-has-more: trueRequest Encoding
- Encode parameters for
GETandDELETErequests as URL query parameters. - Encode Boolean values as
trueorfalse— not1or0.
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
| Field | Type | Description |
|---|---|---|
errorType | string | The type of error (e.g. ValidationError) |
description | string | A human-readable description of the error |
field | string | The request field that caused the error |
values | array | The value or values that triggered the error |
title | string | Summary of the error |
status | integer | HTTP status code |
instance | string | The endpoint path where the error occurred |
requestUid | string | A unique request ID, useful for support |