For the complete documentation index, see llms.txt. This page is also available as Markdown.

Workspaces

Manage workspaces: tenant isolation, voice settings, speech recognition, and test caller numbers.

Workspaces are the top-level organizational unit in the Platform API. Every resource (agents, services, skills, phone numbers, integrations) belongs to a workspace. Workspaces provide tenant isolation and environment separation.

Key Concepts

  • Workspace ID: UUID used in all Platform API request paths

  • Slug: URL-friendly name (e.g., acme-production)

  • Regional endpoint: responses report the deployment serving the request; region is not an editable workspace placement policy

  • Backend Org ID: Links to the Classic API organization, bridging the two API surfaces

Workspace vs Organization: The Classic API scopes by organization. The Platform API scopes by workspace. A workspace maps to a Classic API organization via backend_org_id.

Workspace Resource

List Workspaces

List workspaces

get

List workspaces accessible to this API key. Requires Workspace.view permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Query parameters
limitinteger · max: 200OptionalDefault: 50
continuation_tokenanyOptional
Responses
200

Successful Response

application/json
has_morebooleanRequired
continuation_tokenanyOptional
get/v1/workspaces
GET /v1/workspaces HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "slug": "text",
      "name": "text",
      "backend_org_id": "text",
      "region": "text",
      "connector_type": "text",
      "timezone": "text",
      "topic_modeling_enabled": true,
      "delta_sharing_enabled": true,
      "delta_sharing_mode": "open",
      "delta_sharing_identifier": "text",
      "provisioned_at": "2026-01-01T00:00:00.000Z",
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ],
  "has_more": true,
  "continuation_token": null
}

Get a Workspace

Get a workspace

get

Retrieve a workspace by ID. Requires Workspace.view permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Responses
200

Successful Response

application/json
idstring · uuidRequired
slugstringRequired
namestringRequired
backend_org_idstring · nullableRequired
regionstringRequired
connector_typestring · nullableRequired
timezonestring · nullableRequired
topic_modeling_enabledbooleanRequired
delta_sharing_enabledbooleanRequired
delta_sharing_modestring · enumRequiredPossible values:
delta_sharing_identifierstring · nullableRequired
provisioned_atstring · date-time · nullableRequired
created_atstring · date-timeRequired
updated_atstring · date-timeRequired
get/v1/workspaces/{workspace_id}
GET /v1/workspaces/{workspace_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "name": "text",
  "backend_org_id": "text",
  "region": "text",
  "connector_type": "text",
  "timezone": "text",
  "topic_modeling_enabled": true,
  "delta_sharing_enabled": true,
  "delta_sharing_mode": "open",
  "delta_sharing_identifier": "text",
  "provisioned_at": "2026-01-01T00:00:00.000Z",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Update a Workspace

Update a workspace

patch

Update workspace fields. Requires Workspace.update permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
namestring · min: 1 · nullableOptional
topic_modeling_enabledboolean · nullableOptional
delta_sharing_enabledboolean · nullableOptional
delta_sharing_modestring · enumOptionalPossible values:
delta_sharing_identifierstring · min: 1 · max: 512Optional
timezonestring · min: 1 · max: 64 · nullableOptional
regionstring · enum · nullableOptionalPossible values:
connector_typestring · enum · nullableOptionalPossible values:
Responses
200

Successful Response

application/json
idstring · uuidRequired
slugstringRequired
namestringRequired
backend_org_idstring · nullableRequired
regionstringRequired
connector_typestring · nullableRequired
timezonestring · nullableRequired
topic_modeling_enabledbooleanRequired
delta_sharing_enabledbooleanRequired
delta_sharing_modestring · enumRequiredPossible values:
delta_sharing_identifierstring · nullableRequired
provisioned_atstring · date-time · nullableRequired
created_atstring · date-timeRequired
updated_atstring · date-timeRequired
patch/v1/workspaces/{workspace_id}
PATCH /v1/workspaces/{workspace_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 199

{
  "name": "text",
  "topic_modeling_enabled": true,
  "delta_sharing_enabled": true,
  "delta_sharing_mode": "open",
  "delta_sharing_identifier": "text",
  "timezone": "text",
  "region": "us-east-1",
  "connector_type": "epic"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "name": "text",
  "backend_org_id": "text",
  "region": "text",
  "connector_type": "text",
  "timezone": "text",
  "topic_modeling_enabled": true,
  "delta_sharing_enabled": true,
  "delta_sharing_mode": "open",
  "delta_sharing_identifier": "text",
  "provisioned_at": "2026-01-01T00:00:00.000Z",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Workspace Timezone

timezone is the workspace's IANA timezone, such as America/Chicago. Set it with the update operation above, or send null to clear it. Workspace reads return it.

The agent tells the caller's local time from one zone per session. A session opened with an entity_id uses the timezone of the patient's assigned clinic when one is recorded. Otherwise it uses the workspace timezone, then the deployment region's default zone, which the agent's instructions mark as a fallback. A caller matched only by phone number gets the workspace zone. An invalid stored value is skipped.

Provisioning

After creating a workspace, call the provision endpoint to seed default integrations and mark the workspace as provisioned. This is idempotent: safe to call multiple times. Requires Workspace.update permission.

Provision workspace resources

post

Seed default integrations and mark workspace as provisioned. Idempotent. Requires Workspace.update permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Responses
200

Successful Response

application/json
post/v1/workspaces/{workspace_id}/provision
POST /v1/workspaces/{workspace_id}/provision HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "workspace": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "slug": "text",
    "name": "text",
    "backend_org_id": "text",
    "region": "text",
    "connector_type": "text",
    "timezone": "text",
    "topic_modeling_enabled": true,
    "delta_sharing_enabled": true,
    "delta_sharing_mode": "open",
    "delta_sharing_identifier": "text",
    "provisioned_at": "2026-01-01T00:00:00.000Z",
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Archive

Archive a workspace

post

Archive a workspace and remove it from active access flows while preserving underlying data. Requires owner access and slug confirmation.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
slugstring · min: 2 · max: 63RequiredPattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
Responses
200

Successful Response

application/json
idstring · uuidRequired
slugstringRequired
namestringRequired
backend_org_idstring · nullableRequired
regionstringRequired
connector_typestring · nullableRequired
timezonestring · nullableRequired
topic_modeling_enabledbooleanRequired
delta_sharing_enabledbooleanRequired
delta_sharing_modestring · enumRequiredPossible values:
delta_sharing_identifierstring · nullableRequired
provisioned_atstring · date-time · nullableRequired
created_atstring · date-timeRequired
updated_atstring · date-timeRequired
post/v1/workspaces/{workspace_id}/archive
POST /v1/workspaces/{workspace_id}/archive HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "slug": "text"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "name": "text",
  "backend_org_id": "text",
  "region": "text",
  "connector_type": "text",
  "timezone": "text",
  "topic_modeling_enabled": true,
  "delta_sharing_enabled": true,
  "delta_sharing_mode": "open",
  "delta_sharing_identifier": "text",
  "provisioned_at": "2026-01-01T00:00:00.000Z",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Archiving removes a workspace from active access flows while preserving all underlying data. It requires the owner role and a slug confirmation in the request body to prevent accidental archival. Archived workspaces no longer appear in workspace listings and reject new API requests.

Invitations

Invitation creation and preview are Identity API operations and are not represented in the Platform API OpenAPI document. The embedded Platform operations on this page remain the source of truth for workspace resources, archiving, settings, and test configuration.

Workspace invitations let you invite users by email before they have an account.

  • Create: POST /workspaces/{workspace_id}/invitations sends an invitation with a specified role and 7-day expiry. Resending to the same email reactivates the existing invitation.

  • Preview: GET /workspaces/invitations/{invitation_id}/preview returns a safe public view of the invitation (workspace name, role, expiry, status) without requiring authentication. Used to render invitation landing pages before sign-in.

  • Accept or decline: the invited user can accept or decline from their pending invitations list.

  • Revoke: workspace admins can revoke pending invitations.

When a workspace admin creates or resends an invitation, an email notification is sent to the invited user with the workspace name, assigned role, and an accept link. Email delivery is asynchronous and fail-open - if delivery fails, the invitation is still created and returned to the admin for manual sharing.

Invited users who do not belong to an auto-provisioning domain can log in through Google OAuth. If pending invitations exist for their verified email, they receive a bootstrap token with no workspace scopes. The user must accept a specific invitation through the Developer Console before receiving a workspace-scoped token.

Access Audit Logging

All workspace membership and invitation operations emit audit events:

Event
When

workspace.member_added

Member created or reactivated

workspace.member_removed

Member deactivated

workspace.member_role_updated

Member role changed

workspace.invitation_sent

Invitation created or resent

workspace.invitation_accepted

Invitation accepted

workspace.invitation_declined

Invitation declined

workspace.invitation_revoked

Invitation revoked by admin

Each event records the actor, target, role, and relevant metadata. These events are available through the audit log endpoints and the compliance export.

Environment Separation

The former environment-check and staging/production conversion routes have been removed. The current workspace update contract does not include an environment label. Use separately provisioned workspaces for development, testing, and production, with the appropriate access, integration, and retention policies.

The legacy region update field is accepted but ignored. Its presence in a request does not move data or change the serving deployment's reported region. See Regions and Endpoints.

Optional Data Exposure

Topic modeling and Delta Sharing are separate opt-in settings, disabled by default. Delta Sharing supports open sharing and a recipient identified by a sharing identifier. Use the embedded workspace update schema for the mode and identifier requirements.

Saving a setting and applying its data grants are separate steps. Enabling a capability can require asynchronous provisioning. Disabling exposure or changing an active recipient requests reconciliation; if it cannot be queued, the request reports failure after the setting has been saved. Retry and verify actual access rather than treating the stored setting alone as proof of revocation.

Voice Settings

Voice settings control the workspace-level voice pipeline, affecting all voice conversations.

Get Voice Settings

Get voice settings

get

Get the voice experience settings for a workspace.

Returns voice identity, domain vocabulary, and post-call intelligence configuration. These settings shape how the AI agent sounds and what domain-specific terms it recognizes accurately.

Permissions

  • Requires authenticated API key (any role).
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Responses
200

Successful Response

application/json

Voice experience state — what the PM configured.

voice_idstring · nullableRequired
tonestring · nullableRequired
speednumber · nullableRequired
volumenumber · nullableRequired
languagestringRequired
keytermsstring[]Required
pronunciation_dict_idstring · nullableRequired
sensitive_topicsstring[]Required
post_call_analysis_enabledbooleanRequired
stt_providerstring · enum · nullableRequiredPossible values:
tts_providerstring · enum · nullableRequiredPossible values:
get/v1/{workspace_id}/settings/voice
GET /v1/{workspace_id}/settings/voice HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "voice_id": "text",
  "tone": "text",
  "speed": 1,
  "volume": 1,
  "language": "text",
  "keyterms": [
    "text"
  ],
  "pronunciation_dict_id": "text",
  "sensitive_topics": [
    "text"
  ],
  "post_call_analysis_enabled": true,
  "stt_provider": "deepgram",
  "tts_provider": "cartesia",
  "tts_config": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "language_providers": {
    "ANY_ADDITIONAL_PROPERTY": {
      "provider": "cartesia",
      "config": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
}

Update Voice Settings

Update voice settings

put

Update the voice experience settings for a workspace.

Only provided fields are updated; omitted fields retain their current values. Set a field to null to reset it to default.

Voice Identity & Style

  • voice_id: Voice identity UUID — determines the agent's voice persona
  • tone: Emotional baseline (calm, sympathetic, enthusiastic, content, curious, cheerful, serious, friendly). The system also adapts tone dynamically based on real-time caller emotion analysis; this setting provides the baseline when no strong emotional signal is detected.
  • speed: Speech rate multiplier (0.5-2.0)
  • volume: Volume multiplier (0.0-1.0)
  • language: BCP-47 language tag (default en)

Speech Recognition Boost

  • keyterms: Exact words the speech recognition engine should prioritize. Use for specific names, drug names, and org jargon. Example: ["Dr. Ramirez", "metformin", "HIPAA"]

Post-Call Intelligence

  • post_call_analysis_enabled: Run automated quality scoring after each call ends (default true)

Permissions

  • Requires admin or owner role.
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body

Voice experience control plane — PM-facing, high-level controls.

Controls the caller experience without exposing engineering internals. Emotion detection, filler speech, model selection, and buffer tuning are always-on internals managed by engineering.

voice_idstring · max: 128 · nullableOptional
tonestring · max: 2000 · nullableOptional
speednumber · nullableOptional
volumenumber · nullableOptional
languagestring · max: 32 · nullableOptional
keytermsstring[] · max: 200 · nullableOptional
pronunciation_dict_idstring · max: 128 · nullableOptional
sensitive_topicsstring[] · max: 50 · nullableOptional
post_call_analysis_enabledboolean · nullableOptional
stt_providerstring · enum · nullableOptionalPossible values:
tts_providerstring · enum · nullableOptionalPossible values:
Responses
200

Successful Response

application/json

Voice experience state — what the PM configured.

voice_idstring · nullableRequired
tonestring · nullableRequired
speednumber · nullableRequired
volumenumber · nullableRequired
languagestringRequired
keytermsstring[]Required
pronunciation_dict_idstring · nullableRequired
sensitive_topicsstring[]Required
post_call_analysis_enabledbooleanRequired
stt_providerstring · enum · nullableRequiredPossible values:
tts_providerstring · enum · nullableRequiredPossible values:
put/v1/{workspace_id}/settings/voice
PUT /v1/{workspace_id}/settings/voice HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 410

{
  "voice_id": "text",
  "tone": "text",
  "speed": 1,
  "volume": 1,
  "language": "text",
  "keyterms": [
    "text"
  ],
  "pronunciation_dict_id": "text",
  "sensitive_topics": [
    "text"
  ],
  "post_call_analysis_enabled": true,
  "stt_provider": "deepgram",
  "tts_provider": "cartesia",
  "tts_config": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "language_providers": {
    "ANY_ADDITIONAL_PROPERTY": {
      "provider": "cartesia",
      "config": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
}
{
  "voice_id": "text",
  "tone": "text",
  "speed": 1,
  "volume": 1,
  "language": "text",
  "keyterms": [
    "text"
  ],
  "pronunciation_dict_id": "text",
  "sensitive_topics": [
    "text"
  ],
  "post_call_analysis_enabled": true,
  "stt_provider": "deepgram",
  "tts_provider": "cartesia",
  "tts_config": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "language_providers": {
    "ANY_ADDITIONAL_PROPERTY": {
      "provider": "cartesia",
      "config": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
}

Partial updates. The PUT endpoint supports partial updates: omitted fields stay unchanged. You only need to send the fields you want to modify.

Voice Identity & Style

Field
Type
Description

voice_id

string

Voice persona identifier (max 128 chars)

tone

string

Explicit TTS tone override. Typical values: calm, sympathetic, enthusiastic, content, curious, cheerful, serious, friendly

speed

float

Speech rate (0.5-2.0, default 1.0). Not applied on ElevenLabs eleven_v4_turbo

volume

float

Volume level (0.0-1.0)

language

string

BCP-47 language tag (default en)

Providers

Field
Type
Description

stt_provider

string

Speech-to-text provider: deepgram, openai, or cartesia. OpenAI recognition uses gpt-transcribe

tts_provider

string

Text-to-speech provider: cartesia or elevenlabs

tts_config

object

Provider-specific TTS configuration; keys depend on tts_provider

language_providers

object

Per-language TTS provider map. Keys are BCP-47 language codes or multilingual

Tone vs emotional adaptation. In the standard voice-context path, an explicit workspace tone overrides the tone computed from acoustic emotion, tone momentum, or sensitive-topic matching. Omit tone if you want the runtime to select a supported tone from those signals. Provider and runtime support still determine how a selected tone is rendered.

Speech Recognition

Field
Type
Description

keyterms

list[string]

Exact words for STT boost, up to 200 entries: ["Dr. Ramirez", "metformin", "amlodipine"]

Keyterms are merged with service-level keyterms and deduplicated. They improve recognition of domain-specific vocabulary: drug names, doctor names, insurance carriers, medical abbreviations. Keyterms are the recommended way to improve transcription accuracy for domain-specific terms.

Pronunciation

Field
Type
Description

pronunciation_dict_id

string

Pronunciation dictionary identifier for domain-specific term pronunciation

Links to a pronunciation dictionary for the voice engine. Use this when the TTS engine mispronounces domain-specific terms (drug names, medical procedures, proper nouns).

On Cartesia voices, the dictionary applies to every spoken message, including greetings and fillers. On the default Sonic 3.6 model, an entry matches any capitalization unless it sets case_sensitive.

Proactive Intelligence

Field
Type
Description

sensitive_topics

list[string]

Topics that trigger preemptive tone softening, up to 50 entries: ["test results", "billing", "surgery"]

When the voice agent's current action matches a sensitive topic, the voice tone preemptively shifts to sympathetic, before the caller shows distress. Falls back to healthcare defaults when not configured.

Post-Call Intelligence

Field
Type
Description

post_call_analysis_enabled

bool

Retained setting (default true); does not establish an active scoring job for each call. See Call Intelligence.

The former transcript_correction_enabled setting and post-call transcript-verification outputs are removed. See Voice Agent, Post-Call Intelligence for the current evidence boundaries.

How Settings Interact with Emotional Adaptation

Voice settings define workspace-level defaults and overrides. In the standard voice-context path, explicit tone wins over computed emotion tone, while other settings can still be adapted where noted:

Setting
What You Control
What the System Overrides

tone

Explicit workspace TTS tone

Overrides acoustic, momentum, and sensitive-topic tone selection when set

speed

Base speech rate

Can be reduced by supported empathy pacing logic, subject to configured floors

volume

Base volume

Passed through when supported by the selected TTS provider

voice_id

Voice persona

Per-agent voice_config can override for specific agents

keyterms

Domain vocabulary

Merged with service-level keyterms and deduplicated

sensitive_topics

Proactive tone softening

Falls back to defaults when not set

Test Caller Numbers

Manage which phone numbers are authorized for test calls in the workspace. Useful for restricting test/playground calls to known numbers.

Calls from these numbers, and text turns from the test credentials below, are tagged as test traffic and run tools in simulation mode: every tool call returns a dry_run result instead of reaching an integration, a world write, or a platform function. Use the Playground when a test needs live tool results. See Write Isolation.

Get Test Caller Numbers

Get test caller numbers

get

Get phone numbers configured as test callers for this workspace.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Responses
200

Successful Response

application/json
numbersstring[]Required
get/v1/workspaces/{workspace_id}/test-caller-numbers
GET /v1/workspaces/{workspace_id}/test-caller-numbers HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful Response

{
  "numbers": [
    "text"
  ]
}

Update Test Caller Numbers

Update test caller numbers

put

Set phone numbers to be treated as test callers. Calls from these numbers are tagged source='test' and excluded from billing, scores, analytics, outbound EHR sync, and entity views.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
numbersstring[] · max: 100Required
Responses
200

Successful Response

application/json
numbersstring[]Required
put/v1/workspaces/{workspace_id}/test-caller-numbers
PUT /v1/workspaces/{workspace_id}/test-caller-numbers HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "numbers": [
    "text"
  ]
}
{
  "numbers": [
    "text"
  ]
}

Test Credential IDs

Manage which credentials are authorized for workspace test flows.

Get Test Credential IDs

Get test credential IDs

get

Get the credential IDs configured as test principals for this workspace's text channel.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Responses
200

Successful Response

application/json
credential_idsstring · uuid[]Required
get/v1/workspaces/{workspace_id}/test-credential-ids
GET /v1/workspaces/{workspace_id}/test-credential-ids HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful Response

{
  "credential_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

Update Test Credential IDs

Update test credential IDs

put

Set credential IDs to be treated as test principals. Text turns from these credentials are tagged source='test' and excluded from billing, scores, analytics, outbound EHR sync, and entity views.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
credential_idsstring · uuid[] · max: 100Required
Responses
200

Successful Response

application/json
credential_idsstring · uuid[]Required
put/v1/workspaces/{workspace_id}/test-credential-ids
PUT /v1/workspaces/{workspace_id}/test-credential-ids HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "credential_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}
{
  "credential_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

Last updated

Was this helpful?