API Token Generator

The API Token Generator gives you credentials for testing the ezeep API without implementing an OAuth flow. It signs you in with your ezeep account and issues a refresh token for the ezeep sandbox client.

Your application keeps the refresh token secret, like a password, and exchanges it for a short-lived access token (a JWT, valid for about one hour) whenever it needs to call the API.

Note: The sandbox client is for testing only. Don’t use it in production code; it may be changed at any time without prior notice. For production use, create your own client ID; see Obtaining a ClientID for your Application.

Generate a Refresh Token

  1. Open https://app.ezeep.com/api-token-generator/.
  2. Click Sign in & authorize and complete the ezeep login in the new tab. (The generator uses the Pairing Code Grant.)
  3. Return to the generator tab. It detects the completed authorization automatically and displays the Client ID and your refresh token, together with a ready-to-use curl command for the next step.

The refresh token is issued for the sandbox client ID yjavNwKpd4HgbQes0ekYHBGjxIoszJgayIc0JkdB with scope printing and is tied to the ezeep account you signed in with: everything your application does with it happens on behalf of that account. The printing scope doesn’t cover admin operations such as Managing OAuth clients.

Refresh-token rotation is switched off for the sandbox client. The refresh token stays valid until it is revoked, and the same token can be exchanged for new access tokens any number of times. Your application can ignore the refresh_token field returned by the exchange; the stored token keeps working.

Use the Refresh Token to Get an Access Token

Whenever your application needs to call the API, it exchanges the stored refresh token for an access token using grant_type=refresh_token (the Basic authorization header value is the base64-encoded sandbox client ID; see ClientID/Secret Encoding):

curl -X POST "https://account.ezeep.com/oauth/access_token/" \
     --header "Authorization: Basic eWphdk53S3BkNEhnYlFlczBla1lIQkdqeElvc3pKZ2F5SWMwSmtkQjo=" \
     --header "Content-Type: application/x-www-form-urlencoded" \
     --data "grant_type=refresh_token" \
     --data "scope=printing" \
     --data-urlencode "refresh_token=<your refresh token>"

Example Response

{
  "access_token": "eyJ0eXAiOiJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "printing",
  "refresh_token": "qX5HTLt4..."
}

The access_token is a JWT valid for expires_in seconds (one hour). Send it with every API request in the Authorization header:

curl -X GET "https://printapi.ezeep.com/sfapi/GetPrinter/" \
     --header "Authorization: Bearer <access_token>"

Reuse the access token until it expires instead of requesting a new one for every API call. See the Printing Quick Guide for a complete first API workflow.

Keep the Refresh Token Secret

  • Anyone who has the refresh token can use the API on behalf of your ezeep account. Treat it like a password.
  • Store it in an environment variable or secret store; never embed it in client-side code or commit it to a repository.
  • If the token is exposed or no longer needed, invalidate it via Token Revocation.