Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Create API clients programmatically when you need to automate provisioning — for example, as part of infrastructure-as-code or when integrating multiple apps at scale. Before creating a client, authorize in the Vantage API. For details, see Authentication.

Creating a client

Send a POST request with the Authorization: Bearer <access token> header to {baseUrl}/api/adminapi2/v2/tenants/{tenantId}/clients/ with the following request body parameters:
ParameterDescription
clientIdThe client’s identifier.
clientNameThe client name (for example, the name of your app).
allowOfflineAccessWhether a refresh token is generated along with the access token. The application can use the refresh token to renew the access token without user interaction. Default: false.
allowRememberConsentWhether the user can choose to store consent decisions. Default: true.
backChannelLogoutSessionRequiredWhether the Backchannel Logout mechanism is required. Default: true.
requireClientSecretWhether a client secret is required. Default: true.
requireConsentWhether a consent screen is required. Default: false.
allowNoPkceWhether the Authorization Code Flow without Proof Key for Code Exchange (PKCE) is allowed. Default: false, meaning only the Authorization Code Flow with PKCE is allowed.
allowedGrantTypesThe grant types the client can use.
allowedCorsOriginsWhether the default cross-origin resource sharing (CORS) mechanism is used.
allowedScopesThe scopes transferred in the token. Must be an array containing exactly "openid", "permissions", and "publicapi.all".
postLogoutRedirectUrisA list of allowed URIs to redirect to after logout.
redirectUrisA list of website or app URLs whitelisted for authorization token redirects. Prefixes are allowed — if a prefix matches, any URL under it is allowed. For example: ["https://myDomain.", "https://myApp.myDomain.com/oauth-signin.html"].
accessTokenLifetimeThe time period during which an issued access token grants access to Vantage. Default: 24 hours.
refreshTokenLifetimeThe absolute time period starting from the first access token’s issuance, during which the refresh token can be used to renew the access token. Default: 30 days.
When authenticating using Resource Owner Password Credentials (ROPC), set allowRopc to true. ROPC requires the user to send their credentials directly to the application, so use it only for trusted confidential clients.

Sample request

curl --location --request POST '{baseUrl}/api/adminapi2/v2/tenants/{tenantId}/clients/' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "clientId": "{clientId}",
    "clientName": "{clientName}",
    "allowOfflineAccess": true,
    "allowRememberConsent": true,
    "backChannelLogoutSessionRequired": true,
    "requireClientSecret": true,
    "requireConsent": false,
    "allowNoPkce": true,
    "allowedGrantTypes": ["{allowedGrantTypes}"],
    "allowedCorsOrigins": ["{allowedCorsOrigins}"],
    "allowedScopes": ["openid", "permissions", "publicapi.all"],
    "postLogoutRedirectUris": ["{postLogoutRedirectUris}"],
    "redirectUris": ["{redirectUris}"]
  }'
The response contains a description of the created client.

Creating a secret

Each client can have multiple secrets. This lets the client start using a new secret when the current one expires, without deleting the old one. By default, a client secret expires after six months. Send a POST request with the Authorization: Bearer <access token> header to {baseUrl}/api/adminapi2/v2/tenants/{tenantId}/clients/{clientId}/secrets/ with the following request body parameters:
ParameterDescription
descriptionA short description to help you tell secrets apart. Optional.
startTimeThe secret start date.
expirationThe secret expiry date (between 1 day and 3 years). For example, 2021-09-07T13:03:38.380Z. Defaults to exactly six months from the secret creation date.

Sample request

curl --location --request POST '{baseUrl}/api/adminapi2/v2/tenants/{tenantId}/clients/{clientId}/secrets/' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "description": "{description}",
    "startTime": "{startTime}",
    "expiration": "{expiration}"
  }'
The response contains the client secret (value) and its validity period (startTime, expiration).
The client secret value is only available at creation time. Store it in a secure location — later, you can only view the first three characters of the value (valueDisplay).

Managing Vantage API clients

Overview of API client management in your tenant

Creating, configuring, and deleting a Public API client

UI alternative — create and configure clients in the Vantage UI

Creating a tenant via the Vantage API

Programmatic tenant provisioning

Authentication

Sign-in flows and OAuth 2.0 / SAML 2.0 options