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