Get started with the REST API#
The REST API is an HTTPS interface for managing a Jump Desktop for Teams team from your own code, for example to synchronize computers with an asset database or archive connection history. To start, create an API token in the Teams dashboard, then send requests to https://api.jumpdesktop.com with that token.
Before you start#
- A Jump Desktop for Teams team.
- The Admin or Admin (Read-Only) role on that team. Most team endpoints reject other roles. The Admin (Read-Only) role has read-only access. See Team roles.
For command-line automation, Jump CLI Beta wraps the same team operations in commands and uses the same API tokens. Its --json option produces JSON output for scripts and tools to parse.
Create an API token#
- Sign in to the Teams dashboard and click Security in the sidebar.
- In API Tokens, click Generate new token.
- Fill in the New API token dialog:
- What's this token for?: a label, for example
Inventory sync. Required. - Expiry: from 1 day to 6 months, a custom date, or Never (the default).
- Issue read-only token: select this option if your script only reads data.
- What's this token for?: a label, for example
- Click Generate Token.
- Copy the token. The token cannot be displayed again after you close the dialog.
An API token authenticates as your account and carries your role on each of your teams. A token created by an Admin can make any change that Admin can make.
Read-only tokens are restricted to GET requests. POST, PUT, PATCH, and DELETE requests fail with 403, including requests to endpoints that only read or remove data.
Store tokens in a secret store or environment variable, not in source code. To revoke a token, click the delete icon next to it in API Tokens, then click Delete in the confirmation dialog. Any script or tool using a revoked token loses access immediately.
Authenticate#
Send the API token as a bearer token in the Authorization header of every request:
The examples in the REST API documentation read the token from the JUMP_API_TOKEN environment variable:
Make your first call#
GET /v1/user/teams returns the IDs of the teams you belong to. This endpoint accepts any role and any token.
Uses the requests package.
Node.js 18 or later. Save as teams.mjs and run node teams.mjs.
Invoke-RestMethod throws on a non-2xx response.
Check that it worked#
The response is a JSON array of team IDs:
A 401 response indicates that the token is missing, mistyped, expired, or revoked.
Find your team ID#
Most endpoints require a team ID in the path, for example /v1/team/{teamID}/devices. To find the team ID, use either method:
- REST API: call
GET /v1/user/teams. If you belong to several teams, callGET /v1/team/{teamID}for each ID and comparename. - Teams dashboard: click your team's name in the sidebar. The team ID is the last part of the URL:
https://app.jumpdesktop.com/dashboard/teams/T-EXAMPLE123.
Then list the team's computers with GET /v1/team/{teamID}/devices:
curl --fail-with-body -sS https://api.jumpdesktop.com/v1/team/T-EXAMPLE123/devices \
-H "Authorization: Bearer $JUMP_API_TOKEN"
Handle errors#
A failed request returns a non-2xx status and an errors array (the ApiErrors schema). Each error includes status and usually code; detail is included when additional information is available.
| Status | code |
Meaning |
|---|---|---|
400 |
validation-error |
A request field is missing or invalid. detail names the field; the casing of that name can differ from the JSON field name. |
401 |
unauthorized |
The token is missing, invalid, expired, or revoked, or you are not an admin of the team in the path. |
403 |
forbidden |
A read-only token, or an Admin (Read-Only) user, sent POST, PUT, PATCH, or DELETE. |
429 |
rate-limited |
Too many requests came from your IP address. Wait, then retry with backoff. |
Other codes are endpoint-specific. Check status first, then code; do not match on detail text.
Next steps#
- Manage computers with the REST API
- Manage users and access with the REST API
- Read activity, connection history, and billing events
- REST API reference
- Download the OpenAPI specification (JSON) to generate a client or import the API into your tools