Skip to main content

Authentication in Marketplace

Overview​

The Configuration Service APIs support multiple authentication methods to provide secure access to different endpoints based on user roles and permissions.

Authentication Types​

1. Admin Authentication​

Administrators have elevated privileges and can access all endpoints using two methods:

Method A: SSO Account GUID Header​

  • Header: X-CM-SSO-ACCOUNTGUID
  • Requirements: Must have Admin permissions
  • Access Level: Full access to all endpoints
  • Use Case: Administrative operations across all tenants

Method B: Bearer Token (Private Key)​

  • Header: Authorization: Bearer <private_key>
  • Requirements: System-level private key
  • Access Level: Full access to all system endpoints (cache, adapters, tenant, endpoint and integrations)
  • Use Case: System operations and cache management

2. Tenant Authentication​

Method A: SSO Account ID (Account Controller Only)​

  • Header: X-CM-SSO-ACCOUNTGUID
  • Access Level: Limited to Account Controller endpoints
  • Endpoints: All /v1/accounts/{accountId} endpoints

Method B: Bearer Token (Tenant API Key)​

  • Header: Authorization: Bearer <tenant_api_key>
  • Access Level: Tenant-specific operations
  • Use Case: Direct API access for tenant operations
  • Endpoints: All /v1/tenants/{tenantId} endpoints

3. Anonymous Access​

  • Authentication: None required
  • Access Level: Public endpoints only
  • Use Case: OAuth flows, webhooks, redirect endpoints

Account Controller Endpoints​

Public Access (Basic Account)​

GET /v1/accounts/{accountId}/adapters
GET /v1/accounts/{accountId}/integrations/{integrationId}/adapters
GET /v1/accounts/{accountId}/adapters/{adapterId}
GET /v1/accounts/{accountId}/integrations
GET /v1/accounts/{accountId}/tenant
GET /v1/accounts/{accountId}/adapters/{adapterId}/form-details
GET /v1/accounts/{accountId}/knowledge-integrations
GET /v1/accounts/{accountId}/adapters/{adapterId}/endpoints

Endpoints with Permissions.List​

Endpoints:

GET /v1/accounts/{accountId}/tenant-adapters
GET /v1/accounts/{accountId}/templates/{templateId}
GET /v1/accounts/{accountId}/tenant-adapters/{tenantAdaptersId}/templates

Admin Access:

  • ✅ Method A: SSO Account GUID (with Admin permissions)

Tenant Access:

  • ❌ Tenant Bearer Token: Not Allowed
  • ✅ SSO Account GUID: Allowed

Endpoints with Permissions.Read​

Endpoints:

GET /v1/accounts/{accountId}/tenant-adapters/{tenantAdapterId}
GET /v1/accounts/{accountId}/tenant-adapters/{tenantAdapterId}/job-history
GET /v1/accounts/{accountId}/tenant-adapters/{tenantAdapterId}/job-history/latest

Admin Access:

  • ✅ Method A: SSO Account GUID (with Admin permissions)

Tenant Access:

  • ❌ Tenant Bearer Token: Not Allowed
  • ✅ SSO Account GUID: Allowed

Endpoints with Permissions.Write​

POST /v1/accounts/{accountId}/tenant-adapters
PUT /v1/accounts/{accountId}/tenant-adapters/{tenantAdapterId}
DELETE /v1/accounts/{accountId}/tenant-adapters/{tenantAdapterId}
POST /v1/accounts/{accountId}/templates
PUT /v1/accounts/{accountId}/templates/{templateId}
DELETE /v1/accounts/{accountId}/templates/{templateId}

Admin Access:

  • ✅ Method A: SSO Account GUID (with Admin permissions)
  • ✅ Method B: Bearer Token (Private System Key)

Tenant Access:

  • ✅ SSO Account GUID: Allowed
  • ❌ Tenant Bearer Token: Not Allowed

Integration Authentication Flow​

GET /v1/integrations
POST /v1/integrations
PUT /v1/integrations/{integrationId}
DELETE /v1/integrations/{integrationId}

Admin Access:

  • ✅ Method A: SSO Account GUID
  • ✅ Method B: Bearer Token (Private System Key)

Tenant Access:

  • ❌ All tenant authentication methods: Not Allowed

Purpose:

  • Create, read, update, and delete marketplace integrations
  • Manage integration metadata and visibility settings
  • System-level operations for marketplace configuration