# ZenHire Speech Analysis API > Asynchronous speech proficiency analysis. Submit an interview recording, receive CEFR-aligned vocabulary, fluency, and accent scores. The full documentation is bundled at https://platform.zenhire.ai/llms-full.txt for one-shot LLM ingestion. ## Overview - [Docs](https://platform.zenhire.ai/docs/): Official documentation for the ZenHire API Platform. Speech proficiency analysis, CV DeepMatch, credits — quickstart guides, full API reference, and an LLM-ready bundle. ## Get started - [authentication](https://platform.zenhire.ai/docs/get-started/authentication/) - [first-request](https://platform.zenhire.ai/docs/get-started/first-request/) - [quickstart](https://platform.zenhire.ai/docs/get-started/quickstart/) ## Guides - [Async polling flow](https://platform.zenhire.ai/docs/guides/async-polling/): How submit + poll works, recommended polling cadence, and how to design your integration. - [Candidate detection](https://platform.zenhire.ai/docs/guides/candidate-detection/): How ZenHire identifies the candidate in a multi-speaker interview recording. - [Credits](https://platform.zenhire.ai/docs/guides/credits/): Credits moved to the Universal section — one shared ledger across every ZenHire API module. - [CV DeepMatch position config](https://platform.zenhire.ai/docs/guides/cv-deepmatch-position-config/): How the requirements config is shaped — the 1–5 importance scale, where each requirement belongs, education ON/OFF, minimal vs preferable qualifications, and cardinality limits. - [cv-deepmatch](https://platform.zenhire.ai/docs/guides/cv-deepmatch/) - [cv-deepsearch-ingestion](https://platform.zenhire.ai/docs/guides/cv-deepsearch-ingestion/) - [cv-deepsearch-search](https://platform.zenhire.ai/docs/guides/cv-deepsearch-search/) - [Error handling](https://platform.zenhire.ai/docs/guides/error-handling/): How to handle the common error cases and recover cleanly. - [multilingual](https://platform.zenhire.ai/docs/guides/multilingual/) - [Rate limits & concurrency](https://platform.zenhire.ai/docs/guides/rate-limits/): Per-minute rate limits, concurrent request caps, and how queueing works. ## Code examples - [curl](https://platform.zenhire.ai/docs/code-examples/curl/) - [Node.js](https://platform.zenhire.ai/docs/code-examples/node/): Node.js recipes for ZenHire Speech Analysis (native fetch, no dependencies). - [Python](https://platform.zenhire.ai/docs/code-examples/python/): Python recipes for ZenHire Speech Analysis. ## Resources - [Changelog](https://platform.zenhire.ai/docs/resources/changelog/): Notable API changes. - [Error codes](https://platform.zenhire.ai/docs/resources/errors/): Every error code the ZenHire API can return, with recommended actions. - [For LLMs](https://platform.zenhire.ai/docs/resources/llms/): Plain-text bundles of the full docs, designed for one-shot LLM ingestion. ## API reference - [Get credit balance](https://platform.zenhire.ai/docs/api/get-credits.api/): Returns current credit balance, aggregate usage, and recent transactions. - [Health check](https://platform.zenhire.ai/docs/api/get-health.api/): Checks API and downstream-service status. **No authentication required.** - [List runs](https://platform.zenhire.ai/docs/api/list-runs.api/): Lists your API runs, newest first. Returns a compact summary per run — - [Poll analysis status](https://platform.zenhire.ai/docs/api/poll-speech-analysis.api/): Returns the current status of a previously submitted analysis. - [ErrorResponse](https://platform.zenhire.ai/docs/api/schemas/errorresponse.schema/) - [HealthResponse](https://platform.zenhire.ai/docs/api/schemas/healthresponse.schema/) - [PollResponse](https://platform.zenhire.ai/docs/api/schemas/pollresponse.schema/): Shape varies by `status`. See the endpoint examples. - [RunSummary](https://platform.zenhire.ai/docs/api/schemas/runsummary.schema/) - [Scores](https://platform.zenhire.ai/docs/api/schemas/scores.schema/): Flat score object. Scores are on a 0–5 scale; percentages are 0–100. - [SubmitResponse](https://platform.zenhire.ai/docs/api/schemas/submitresponse.schema/) - [Speech — Analysis](https://platform.zenhire.ai/docs/api/speech-analysis.tag/): Speech — Analysis - [Speech — Runs](https://platform.zenhire.ai/docs/api/speech-runs.tag/): Speech — Runs - [Submit speech analysis](https://platform.zenhire.ai/docs/api/submit-speech-analysis.api/): Submits an audio file for asynchronous speech proficiency analysis. - [Universal — Credits](https://platform.zenhire.ai/docs/api/universal-credits.tag/): Universal — Credits - [Universal — Health](https://platform.zenhire.ai/docs/api/universal-health.tag/): Universal — Health - [ZenHire API](https://platform.zenhire.ai/docs/api/introduction/): This reference covers the ZenHire platform APIs, grouped into modules. ## cv-deepmatch - [Lifecycle](https://platform.zenhire.ai/docs/cv-deepmatch/lifecycle.tag/): Lifecycle - [List CV DeepMatch requests](https://platform.zenhire.ai/docs/cv-deepmatch/list-cvdeepmatch.api/): Paginated list of the caller's own CV DeepMatch requests, newest - [CV DeepMatch overview](https://platform.zenhire.ai/docs/cv-deepmatch/overview/): Asynchronous CV-to-job-description match scoring on one unified /api/v1/cvdeepmatch surface — submit, poll, list, and optional signed webhooks. - [Poll a CV DeepMatch request](https://platform.zenhire.ai/docs/cv-deepmatch/poll-cvdeepmatch.api/): Returns the current state of a request. Minimum poll interval is - [CvDeepMatchError](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatcherror.schema/): Standard error envelope returned by every CV DeepMatch endpoint - [CvDeepMatchRequest](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchrequest.schema/): Full state of a single CV DeepMatch request, as returned by - [CvDeepMatchRequestSummary](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchrequestsummary.schema/): Compact row returned by `GET /api/v1/cvdeepmatch/requests`. Full - [CvDeepMatchRequirements](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchrequirements.schema/): The matching engine's position-config contract — the `requirements` - [CvDeepMatchResult](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchresult.schema/): The matching result, populated when `status === 'finished'`. - [CvDeepMatchSkillItem](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchskillitem.schema/): A single weighted requirement entry, used inside every - [CvDeepMatchSubmitRequest](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchsubmitrequest.schema/): `multipart/form-data` body for `POST /api/v1/cvdeepmatch/submit`. - [CvDeepMatchSubmitResponse](https://platform.zenhire.ai/docs/cv-deepmatch/schemas/cvdeepmatchsubmitresponse.schema/) - [Submission](https://platform.zenhire.ai/docs/cv-deepmatch/submission.tag/): Submission - [Submit CV + job description for asynchronous matching](https://platform.zenhire.ai/docs/cv-deepmatch/submit-cvdeepmatch.api/): Submits a CV (PDF) plus a job description and a `requirements` - [ZenHire CV DeepMatch API](https://platform.zenhire.ai/docs/cv-deepmatch/zenhire-cv-deepmatch-api.info/): Asynchronous CV-to-Job-Description matching. Submit a candidate's CV ## cv-deepsearch - [Get one candidate's status](https://platform.zenhire.ai/docs/cv-deepsearch/get-cvds-candidate.api/): Return one candidate's embedding status (plus its `tags`). Like the - [Poll a search run](https://platform.zenhire.ai/docs/cv-deepsearch/get-cvds-run.api/): Return the current state of a search run. Cross-tenant requests return - [Ingest candidates into a corpus](https://platform.zenhire.ai/docs/cv-deepsearch/ingest-cvds-candidates.api/): Batch upsert parsed CVs into a corpus. Each candidate is keyed by - [Ingestion](https://platform.zenhire.ai/docs/cv-deepsearch/ingestion.tag/): Ingestion - [List candidates in a corpus](https://platform.zenhire.ai/docs/cv-deepsearch/list-cvds-candidates.api/): Paginated status list of the candidates in a corpus, newest first. - [overview](https://platform.zenhire.ai/docs/cv-deepsearch/overview/) - [CvdsCandidateStatus](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdscandidatestatus.schema/): A candidate's embedding status as returned by the list endpoint. Never - [CvdsCandidateStatusDetail](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdscandidatestatusdetail.schema/) - [CvdsError](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdserror.schema/): Standard error envelope returned by every CV DeepSearch endpoint on a non-2xx response. - [CvdsIngestCandidate](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsingestcandidate.schema/): One candidate to ingest. - [CvdsIngestRequest](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsingestrequest.schema/): JSON body for `POST /api/v1/cvds/candidates`. Up to 500 candidates per - [CvdsIngestResponse](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsingestresponse.schema/): Per-candidate ingest result plus a roll-up summary. - [CvdsIngestResult](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsingestresult.schema/) - [CvdsIngestSummary](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsingestsummary.schema/): Roll-up counts across the batch. - [CvdsPositionMetadata](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdspositionmetadata.schema/): The position-config object a search plans against (the - [CvdsRun](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdsrun.schema/): State of a single search run, as returned by - [CvdsSearchRequest](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdssearchrequest.schema/): JSON body for `POST /api/v1/cvds/search`. - [CvdsSearchResponse](https://platform.zenhire.ai/docs/cv-deepsearch/schemas/cvdssearchresponse.schema/): Immediate response to a triggered search. - [Search](https://platform.zenhire.ai/docs/cv-deepsearch/search.tag/): Search - [Trigger a search against a corpus](https://platform.zenhire.ai/docs/cv-deepsearch/submit-cvds-search.api/): Start a search of one corpus for the best-first candidates against a - [ZenHire CV DeepSearch API](https://platform.zenhire.ai/docs/cv-deepsearch/zenhire-cv-deepsearch-api.info/): Search a corpus of parsed CVs for the best-matching candidates against a ## interview-api - [Create a persona](https://platform.zenhire.ai/docs/interview-api/create-persona.api/): Creates a reusable interviewer persona for your client. You supply the - [Start a session](https://platform.zenhire.ai/docs/interview-api/create-session.api/): Starts an interview session against a persona for one candidate and - [Get a persona](https://platform.zenhire.ai/docs/interview-api/get-persona.api/): Returns a single persona, including its generated `system_prompt`. - [Get recording](https://platform.zenhire.ai/docs/interview-api/get-session-recording.api/): Streams the session's **audio recording** back to you as raw audio - [Get transcript](https://platform.zenhire.ai/docs/interview-api/get-session-transcript.api/): Returns the session **transcript** as JSON. The platform fetches the - [Get a session](https://platform.zenhire.ai/docs/interview-api/get-session.api/): Returns a single session's catalog row. A `client_member` can only - [List personas](https://platform.zenhire.ai/docs/interview-api/list-personas.api/): Lists the personas owned by your client. Results are role-aware: a - [List sessions](https://platform.zenhire.ai/docs/interview-api/list-sessions.api/): Lists interview sessions for your client, newest first. Supports an - [Personas](https://platform.zenhire.ai/docs/interview-api/personas.tag/): Personas - [Results](https://platform.zenhire.ai/docs/interview-api/results.tag/): Results - [ErrorResponse](https://platform.zenhire.ai/docs/interview-api/schemas/errorresponse.schema/) - [Persona](https://platform.zenhire.ai/docs/interview-api/schemas/persona.schema/) - [PersonaCreateRequest](https://platform.zenhire.ai/docs/interview-api/schemas/personacreaterequest.schema/) - [PersonaDetail](https://platform.zenhire.ai/docs/interview-api/schemas/personadetail.schema/) - [SessionCreateRequest](https://platform.zenhire.ai/docs/interview-api/schemas/sessioncreaterequest.schema/) - [SessionCreateResponse](https://platform.zenhire.ai/docs/interview-api/schemas/sessioncreateresponse.schema/) - [SessionSummary](https://platform.zenhire.ai/docs/interview-api/schemas/sessionsummary.schema/) - [TranscriptResponse](https://platform.zenhire.ai/docs/interview-api/schemas/transcriptresponse.schema/): The transcript document for a completed session, returned as opaque - [Sessions](https://platform.zenhire.ai/docs/interview-api/sessions.tag/): Sessions - [ZenHire Interview API](https://platform.zenhire.ai/docs/interview-api/zenhire-interview-api.info/): The Interview module is the ZenHire API Platform's third module, alongside ## interview - [overview](https://platform.zenhire.ai/docs/interview/overview/) - [personas](https://platform.zenhire.ai/docs/interview/personas/) - [quickstart](https://platform.zenhire.ai/docs/interview/quickstart/) - [results](https://platform.zenhire.ai/docs/interview/results/) - [sessions](https://platform.zenhire.ai/docs/interview/sessions/) - [webhook](https://platform.zenhire.ai/docs/interview/webhook/) ## speech - [Speech Analysis overview](https://platform.zenhire.ai/docs/speech/overview/): Asynchronous CEFR-aligned speech analysis — submit interview audio under /api/v1/speech and poll for vocabulary, fluency, and accent scores. ## universal - [authentication](https://platform.zenhire.ai/docs/universal/authentication/) - [credits](https://platform.zenhire.ai/docs/universal/credits/) - [Error envelope](https://platform.zenhire.ai/docs/universal/errors/): The single standard error envelope returned by every ZenHire API module — code, message, timestamp, requestId, and optional details. - [Health](https://platform.zenhire.ai/docs/universal/health/): The single unauthenticated readiness endpoint for the ZenHire API Platform. - [Identifiers](https://platform.zenhire.ai/docs/universal/identifiers/): The three identifiers in the ZenHire API — the run id, your own correlation tag (externalId), and the per-response requestId — and how they differ. - [Universal concepts](https://platform.zenhire.ai/docs/universal/overview/): The cross-module conventions shared by every ZenHire API module — authentication, the run id model, the standard error envelope, credits, and health.