Provider info
GET /system/providerInfo, runtime details for a connected DAM provider.
Returns runtime details for the DAM provider the end user is connected to: the
provider's host prefix, the search filters this connection exposes, and any
provider-specific settings the partner platform needs to render its UI. The
provider is identified by the provider-authorization token, so there is no
provider path or query parameter.
This is the post-login companion to the static feature flags in the providers listing. The listing tells the partner what a provider supports before connecting; this endpoint returns the live details once the end user has logged in.
Treat the object as provider-specific and read only the fields your integration needs. A provider with no runtime details returns an empty object.
Authorization
CIHubAuth ProviderAuth The CI-HUB JWT token obtained through authentication. Needs to be sent in the Authorization header.
In: header
Provider-specific authentication token for accessing the provider's services. Needs to be sent in the provider-authorization header with the Bearer prefix.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/system/providerInfo"{
"remoteSystemPrefix": "api.box.com",
"nativeFolderOrder": true,
"dataLocales": [
{
"id": "en-GB",
"name": "en-GB",
"displayName": "English (United Kingdom) ",
"default": true
}
],
"customMetadata": {
"groups": [
{
"id": "custom",
"name": "Custom Metadata",
"i18nName": {
"en": "Custom Metadata",
"de": "Benutzerdefinierte Metadaten"
}
}
],
"fields": [
{
"id": "custom#123",
"name": "Asset Category",
"groupId": "custom",
"i18nName": {
"en": "Asset Category",
"de": "Asset-Kategorie",
"fr": "Catégorie d'actif"
}
}
]
},
"filters": [
{
"id": "string",
"name": "string",
"i18nName": {
"en": "Name",
"de": "Name",
"fr": "Nom"
},
"options": [
{
"id": "string",
"name": "string",
"default": true,
"isDisabled": true,
"isActive": true,
"i18nName": {
"en": "Name",
"de": "Name",
"fr": "Nom"
},
"property1": "string",
"property2": "string"
}
],
"showInSimilarSearch": true
}
],
"createAssetOptions": [
{
"id": "string",
"name": "string",
"type": "select",
"required": false,
"options": [
{
"id": "string",
"name": "string"
}
]
}
],
"updateAssetOptions": [
{
"id": "string",
"name": "string",
"type": "select",
"required": true,
"options": [
{
"id": "string",
"name": "string"
}
]
}
],
"requestHeaders": {
"x-api-key": "api-key-value"
},
"searchConfigs": {
"searchQueryRequired": false,
"configs": [
{
"id": "single:searchMode",
"name": "Search Mode",
"i18nName": {
"en": "Search Mode",
"de": "Suchmodus",
"fr": "Mode de recherche"
},
"type": "select",
"options": [
{
"id": "all",
"name": "All",
"isActive": false
}
]
}
]
},
"transformation": {
"availableTransformationsUrl": "https://api.example.com/get-available-transformations",
"actionUrl": "https://api.example.com/do-transformation"
},
"rightsManagement": {
"addExternalAsset": {
"actionUrl": "https://api.provider.com/addExternalAsset"
},
"checkExternalAssets": {
"actionUrl": "https://api.provider.com/checkExternalAssets"
},
"checkClearance": {
"actionUrl": "https://api.provider.com/checkClearance",
"filters": [
{
"type": "date",
"id": "inDate",
"name": "In Date",
"options": [
{
"id": "string",
"name": "string",
"path": [
"string"
]
}
]
}
]
}
},
"assetSearchHelpUrl": "https://help.example.com/asset-search"
}{
"message": "Error",
"details": "POST /api/v1/auth/exchangeToken failed: SDK authentication token is invalid",
"errorCode": "cihub-sdk-token-invalid",
"error": {
"code": "integration-forbidden",
"source": "cihub",
"status": 400,
"message": "Access denied by the integration",
"details": "403 Forbidden - insufficient_permissions",
"provider": "bynder"
}
}{
"message": "Error",
"details": "POST /api/v1/auth/exchangeToken failed: SDK authentication token is invalid",
"errorCode": "cihub-sdk-token-invalid",
"error": {
"code": "integration-forbidden",
"source": "cihub",
"status": 400,
"message": "Access denied by the integration",
"details": "403 Forbidden - insufficient_permissions",
"provider": "bynder"
}
}{
"message": "Error",
"details": "POST /api/v1/auth/exchangeToken failed: SDK authentication token is invalid",
"errorCode": "cihub-sdk-token-invalid",
"error": {
"code": "integration-forbidden",
"source": "cihub",
"status": 400,
"message": "Access denied by the integration",
"details": "403 Forbidden - insufficient_permissions",
"provider": "bynder"
}
}{
"message": "Error",
"details": "POST /api/v1/auth/exchangeToken failed: SDK authentication token is invalid",
"errorCode": "cihub-sdk-token-invalid",
"error": {
"code": "integration-forbidden",
"source": "cihub",
"status": 400,
"message": "Access denied by the integration",
"details": "403 Forbidden - insufficient_permissions",
"provider": "bynder"
}
}Example
import { CiHubAccessClient, TokenManager } from '@ci-hub/access-sdk'
const client = new CiHubAccessClient({ baseUrl: 'https://stage.ci-hub.com/api/v1' })
const tokens = new TokenManager(client) // seeded during authentication
const providerInfo = await tokens.withDamAuth('dropbox', (accessToken, damToken) =>
client.getProviderInfo({ accessToken, damToken }),
)curl "https://stage.ci-hub.com/api/v1/system/providerInfo" \
-H "Authorization: Bearer $CI_HUB_ACCESS_TOKEN" \
-H "provider-authorization: Bearer $DAM_PROVIDER_TOKEN"const response = await fetch(
'https://stage.ci-hub.com/api/v1/system/providerInfo',
{
headers: {
Authorization: `Bearer ${ciHubAccessToken}`,
'provider-authorization': `Bearer ${damProviderToken}`,
},
}
)
if (!response.ok) {
const { error } = await response.json()
throw new Error(`${error.code}: ${error.message}`)
}
const providerInfo = await response.json()