Skip to content

API Reference

Complete API documentation for the OriginalVoices API. All endpoints require authentication using a Bearer token in the Authorization header.

API for generating audience insights and topic analysis

Servers

https://api.originalvoices.aiAPI server

Topic


POST /v1/topic

POST
/v1/topic

Generate topic insights for a specific audience and topic

Authorizations

bearerAuth
TypeHTTP (bearer)

Request Body

application/json
JSON
{
"audienceId": "string",
"audiencePrompt": "string",
"topic": "string"
}

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"questions": [
{
"question": "string",
"summary": "string",
"themes": [
{
"title": "string",
"summary": "string",
"prevalence": 0
}
]
}
]
},
"error": null
}

Playground

Authorization
Body

Samples


Ask


POST /v1/ask/open

POST
/v1/ask/open

Ask an open-ended question to the audience and get summary and themes

Authorizations

bearerAuth
TypeHTTP (bearer)

Request Body

application/json
JSON
{
"audienceId": "string",
"audiencePrompt": "string",
"question": "string"
}

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"summary": "string",
"themes": [
{
"title": "string",
"summary": "string",
"prevalence": 0
}
]
},
"error": null
}

Playground

Authorization
Body

Samples


POST /v1/ask/choices

POST
/v1/ask/choices

Ask a choices question to the audience and get summary and themes

Authorizations

bearerAuth
TypeHTTP (bearer)

Request Body

application/json
JSON
{
"audienceId": "string",
"audiencePrompt": "string",
"question": "string",
"choices": [
"string"
],
"isMultipleChoice": false
}

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"choices": [
{
"choice": "string",
"percentage": 0
}
]
}
}

Playground

Authorization
Body

Samples


GET /v1/audiences

GET
/v1/audiences

List all audiences owned by the authenticated organization

Authorizations

bearerAuth
TypeHTTP (bearer)

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"audiences": [
{
"id": "string",
"title": "string",
"prompt": "string"
}
]
},
"error": null
}

Playground

Authorization

Samples


POST /v1/audiences

POST
/v1/audiences

Create a new audience with title and prompt

Authorizations

bearerAuth
TypeHTTP (bearer)

Request Body

application/json
JSON
{
"title": "string",
"prompt": "string"
}

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"id": "string",
"title": "string"
},
"error": null
}

Playground

Authorization
Body

Samples


DELETE /v1/audiences/{id}

DELETE
/v1/audiences/{id}

Delete an audience

Authorizations

bearerAuth
TypeHTTP (bearer)

Parameters

Path Parameters

id*
Typestring
Required
Format"uuid"

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"success": true
},
"error": null
}

Playground

Authorization
Variables
Key
Value

Samples


PATCH /v1/audiences/{id}

PATCH
/v1/audiences/{id}

Update the title of an audience

Authorizations

bearerAuth
TypeHTTP (bearer)

Parameters

Path Parameters

id*
Typestring
Required
Format"uuid"

Request Body

application/json
JSON
{
"title": "string"
}

Responses

Default Response

application/json
JSON
{
"requestId": "string",
"data": {
"id": "string",
"title": "string"
},
"error": null
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Powered by VitePress OpenAPI

Authentication

All API requests require authentication using a Bearer token. Include your API key in the Authorization header:

bash
Authorization: Bearer YOUR_API_KEY

When using the originalvoices npm package, authentication is handled automatically:

javascript
import { OriginalVoices } from "originalvoices";

const client = new OriginalVoices({
  apiKey: "your-api-key-here",
});

Base URL

All API requests should be made to:

https://api.originalvoices.ai

Rate Limits

Rate limits may apply based on your plan. Check your OriginalVoices Platform for current limits.

Error Responses

The API uses standard HTTP status codes. Error responses follow this format:

json
{
  "error": {
    "message": "Error description",
    "type": "error_type",
    "code": "error_code",
    "param": null
  },
  "requestId": "unique-request-id"
}

Common Error Codes

  • 400 - Invalid request body
  • 401 - Missing or invalid API token
  • 402 - Payment Required - Insufficient credits balance
  • 422 - Unprocessable Entity - Insufficient matches found for the audience
  • 500 - Internal server error

Support

For additional support or questions, please contact support@originalvoices.ai or visit our support portal.

Powered by OriginalVoices