Open API v2 / Get started / Authentication

Authentication

The WebinOne API uses bearer tokens. Every request must include a valid JWT in the Authorization header. Tokens are scoped to a single site, so a token issued for one site cannot read or change another.

The Authorization header

Send the token as a bearer credential on every request:

Header
Authorization: Bearer <your-token>

Getting a token

Request a token from the OAuth token endpoint using the client credentials grant. Send the parameters as application/x-www-form-urlencoded. Use the client_id and client_secret issued for your site in the Agency Portal, and the public_api scope.

curl -X POST "https://your-site.webinone.com/api/v1/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=<client-id>" \
  -d "client_secret=<client-secret>" \
  -d "scope=public_api"

The response contains the token in access_token — send that value as the bearer token on subsequent requests.

Response
{
  "access_token": "eyJhbGciOi...",
  "token_type": "Bearer"
}
i

Keep client secrets and tokens server-side. Never expose them in browser code or public repositories. Credentials are issued per site in the Agency Portal.

Scope

A token authorizes calls for the site it was issued for. To work across several client sites, obtain a separate token per site — this is what keeps agency workspaces isolated in the white-label model.