Exchange OAuth grants for opaque access tokens
Use HTTP Basic client authentication. Supports client_credentials, authorization_code with S256 PKCE, and refresh_token. Password and implicit grants are intentionally unsupported.
Authorizations
Use client_id as username and client_secret as password for confidential server-side calls. The application allowed_scopes still gate each /v2 endpoint; never use this secret in browsers, mobile apps, logs, or query strings. Server integrations may alternatively send x-client-id and x-client-secret headers (the legacy x-invoiceedge-* names remain accepted).
Body
client_credentials, authorization_code, refresh_token Required for client_credentials and authorization_code requests. Optional on refresh_token to narrow the refreshed access token.
"products.read categories.read vendors.read locations.read"