generated: '2026-08-13' method: generated source: openapi/_original/chorus-ai-openapi.json provider: Chorus.ai providerId: chorus-ai api: Chorus API base_url: https://chorus.ai summary: >- Packaged Agent Skills for the Chorus by ZoomInfo API, generated from the live OpenAPI 3.0.3 served at https://chorus.ai/api/openapi.json. Every operationId referenced below was verified against that document — none is invented. Each skill carries the same cross-cutting rules the contract omits: JSON:API error handling, the raw-token Authorization header, the absence of idempotency, and the absence of any published rate-limit signal. provider_published_skills: found: false note: >- No provider-published AGENTS.md, skills manifest or llms.txt exists on any Chorus host (https://chorus.ai/llms.txt returns 404). These skills are generated by API Evangelist. skill_count: 4 skills: - name: chorus-ai-retrieve-conversations file: chorus-ai-retrieve-conversations.md category: read description: >- Search, retrieve and download recorded calls and meetings; sparse fieldsets, media redirects and bulk export. operations: - get-v3-engagements - get-api-v1-conversations-id - get-api-v1-conversations-id-media - get-api-v1-conversations-live - post-conversations-export - name: chorus-ai-upload-recording file: chorus-ai-upload-recording.md category: write description: >- Ingest external recordings into Chorus and subscribe to the recording_done webhook; covers the duplicate-upload risk created by the absence of idempotency. operations: - post-v3-upload - post-v3-webhook - get-v3-webhook - delete-v3-webhook - post-api-v1-conversations:bulk - post-api-v1-conversations:validate - name: chorus-ai-coaching-moments-playlists file: chorus-ai-coaching-moments-playlists.md category: write description: >- Clip conversation moments and assemble coaching playlists and smart playlists; pull scorecards, teams and users. operations: - get-api-v1-moments - post-api-v1-moments - put-api-v1-moments-id - delete-api-v1-moments-id - get-api-v1-playlists - post-api-v1-playlists - post-api-v1-playlists-moments - patch-api-v1-playlists-moments-id - post-api-v1-smart_playlists - get-api-v1-scorecards - get-api-v1-teams - get-v3-users - name: chorus-ai-sales-qualification-crm-writeback file: chorus-ai-sales-qualification-crm-writeback.md category: write consequence: high description: >- Run AI sales-qualification analysis on a recording and write the extracted framework fields back to a CRM opportunity. Highest-consequence flow in the API — includes explicit guardrails for autonomous use. operations: - get-api-v1-sales_qualification_configuration - put-api-v1-sales_qualification_configuration-framework_id - post-api-v1-sales-qualifications - get-api-v1-sales-qualifications-recording_id - post-api-v1-sales-qualifications-actions-writeback-crm shared_rules: authentication: >- Authorization header carrying the raw Chorus API token with NO "Bearer " prefix, per the provider's own published example. See authentication/chorus-ai-authentication.yml. errors: >- JSON:API envelope (errors[] with id/code/status/title/detail/source), NOT RFC 9457. Only 400/404/409 are declared; 401/403/429/5xx occur but are undeclared. See errors/chorus-ai-problem-types.yml. idempotency: >- Not supported anywhere in the API. Retried creates and uploads risk duplicates; the only guard available is enforce_unique_meeting_id on upload. rate_limits: >- Undocumented — no 429 declared, no rate-limit or Retry-After headers. Self-throttle. pagination: >- Two grammars: page[number]/page[size]/page[after] on /api/v1, continuation_key on /v3/engagements. Do not mix them. permissions: >- The token inherits its user's data access. Private recordings are never returned, and a 404 can mean "not permitted" rather than "does not exist". not_covered: - reason: 14 integration connect/verify operations are browser OAuth redirect flows operations_prefix: /api/v1/integrations/* note: Not suitable for an unattended agent skill. - reason: session/web-application authentication rather than server-to-server token use operations: - post-login - get-api-v1-sessions-current - delete-api-v1-sessions-current - post-api-v1-sessions-exchange - post-api-auth-signed_request cross_links: openapi: openapi/chorus-ai-openapi.yml conventions: conventions/chorus-ai-conventions.yml errors: errors/chorus-ai-problem-types.yml data_model: data-model/chorus-ai-data-model.yml webhooks: asyncapi/chorus-ai-webhooks.yml