List API supports comma separated states.
ESPER API REFERENCE (1.0.0)
Welcome to Esper’s API documentation. The Esper API allows users to accomplish operations outside of the console. Some common uses for our APIs include observing device information and console activity, installing and updating apps, uploading files, and sending files to devices. Our users have also used the API to automate app updates, perform bulk actions, and more.
Esper API endpoints use REST-based architecture and return JSON responses.
See our documentation for:
You need to create an API Key to interact with our APIs. Learn more about generating an API Key. You can also learn more about Esper and sign up for an account at esper.io/signup.
Some endpoints also require an Enterprise ID. This ID can be found in the API Management section of the Esper console.
Responses may be paginated. Use the following parameters to query the data. A full list of parameters can be found on the endpoint’s documentation page.
| Parameter | Data Type | Explanation |
|---|---|---|
| limit | integer | Limit the data returned. Default = 20. |
| offset | integer | Offset to the first item returned. Default = 0. |
| ordering | string | Order the results set by the field name. Varies by endpoint. |
| next | string | Paginate to the next response set. |
| previous | string | Paginate to the last set response. |
We use standard HTTP status codes for success or failure. A typical error response may look something like this:
{
"errors": [],
"message": "error message",
"status": 400
}errors- List of error detailsmessage- Error descriptionstatus- HTTP status code
Some common status codes and messages are:
| Number | Message | Explanation |
|---|---|---|
| 200 | OK | The request succeeded. |
| 201 | Resource creation | A resource was created. |
| 401 | Unauthorized | The API key is invalid. |
| 404 | Not found | The resource was not found. |
| 429 | Rate limit exceeded | Too many requests. Wait a moment and try again. |
| 500 | Server error | Internal error. Wait a moment and try again. If the issue persists, contact Esper. |
See how our systems are doing by checking our status page.
To ensure quality of service for all customers, we enforce rate limits for API requests. Most customers won’t hit this limit with normal use. In case you experience 429 or rate limit exceeded errors, we recommend the following:
- Try sending requests in batches.
- Begin with about 20 requests at a time and building up from there.
- Ensure your scripts are efficient and don’t contain redundant calls.
- Reach out to your account manager to discuss your options.
To allow filtering sessions list by comma separated video qualities
To allow ordering sessions list by created_at, updated_at, device_name, duration, state, reason, video_quality and created_by.
Duration less than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
Duration less than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
Duration greater than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
Duration greater than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
Created at less than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Created at greater than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Created at less than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Created at greater than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Updated at less than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Updated at greater than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
Updated at less than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- Mock serverhttps://api.esper.io/_mock/openapi/api/v2/rv-activity-feed/
- https://develop-api.esper.cloud/api/api/v2/rv-activity-feed/
curl -i -X GET \
'https://api.esper.io/_mock/openapi/api/v2/rv-activity-feed/?limit=0&offset=0&states=INITIATED&video_qualities=STANDARD&reason=string&created_by=string&device_name=string&ordering=created_at&duration_lt=duration_lt%3DPT10M30S&duration_lte=duration_lte%3DPT10M30S&duration_gt=duration_gt%3DPT10M30S&duration_gte=duration_gte%3DPT10M30S&created_at_lt=created_at_lt%3D2023-10-01T12%3A00%3A00Z&created_at_gt=created_at_gt%3D2023-10-01T12%3A00%3A00Z&created_at_lte=created_at_lte%3D2023-10-01T12%3A00%3A00Z&created_at_gte=created_at_gte%3D2023-10-01T12%3A00%3A00Z&updated_at_lt=updated_at_lt%3D2023-10-01T12%3A00%3A00Z&updated_at_gt=updated_at_gt%3D2023-10-01T12%3A00%3A00Z&updated_at_lte=updated_at_lte%3D2023-10-01T12%3A00%3A00Z&updated_at_gte=updated_at_gte%3D2023-10-01T12%3A00%3A00Z' \
-H 'X-Caller-Id: string' \
-H 'X-SCAPI-Private-URL: string' \
-H 'X-Tenant-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "content": { "count": 0, "previous": "string", "next": "string", "results": [ … ] } }