Authentication
Every request carries an API token. Tokens are scoped — each one grants exactly the permissions you choose, and nothing more.
Create a token
- 1Open the Developer settingsIn the portal, go to Settings → Developer.
- 2Create a tokenClick New token, give it a name, and select the scopes it needs — only the scopes you tick are granted.
- 3Copy it nowThe raw token is shown exactly once. Copy it straight into your secrets store — it cannot be retrieved again afterwards.
A token looks like jmt_ followed by a long random string. Only a short prefix (for example jmt_a1b2c3d4…) is shown in the portal afterwards, so you can tell tokens apart without exposing them.
Authenticate a request
Pass the token as a Bearer token in the Authorization header on every request:
curl -H "Authorization: Bearer jmt_..." \
https://rigyx.com/api/public/v1/whoami/whoami is the quickest sanity check — it returns the business and scopes the token is bound to:
{
"business_id": "5b2e...-uuid",
"scopes": ["leads:read", "leads:write", "webhooks:manage"],
"token_id": "a1b2...-uuid"
}401 with code UNAUTHENTICATED. The token is never accepted from a query string — only the header.Scopes
A scope is a single permission string like leads:read. Scopes are checked on every request: a token holding only leads:read cannot POST /leads — it gets a 403 with code INSUFFICIENT_SCOPE, naming the scope it lacked. Grant each token the narrowest set it needs.
leads:readleads:writecontacts:readcontacts:writecampaigns:readcampaigns:writeemails:reademails:senddocuments:readdocuments:generatedocuments:sendinvoices:readinvoices:writetasks:readtasks:createinbox:readinbox:replyagents:invokeagents:configwebhooks:manageapi_tokens:manageevents:readToken security & revocation
How tokens are handled, and what to do when one is exposed: