> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beyondwords.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Learn about the BeyondWords API

The BeyondWords API is a RESTful API that provides headless access to the entire platform. It has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

This reference covers the endpoints most integrators need.

## Base URL

All requests use the `v1` API. Prepend this base URL to every endpoint path:

```text theme={null}
https://api.beyondwords.io/v1/
```

For example, listing content items for a project:

```text theme={null}
https://api.beyondwords.io/v1/projects/{project_id}/content
```

<Tip>
  Replace `{project_id}` with your Project ID from **Settings → Integrations → API** in the dashboard.
</Tip>

## Authentication

Every request requires your API key in the `X-Api-Key` header. Find your Project ID and API Key under **Settings → Integrations → API**.

```bash theme={null}
-H "X-Api-Key: YOUR_API_KEY"
```

<Warning>
  Keep your API key secret. Do not expose it in client-side code or public repositories.
</Warning>

## Rate limits

To help keep our service stable and reliable, API requests are subject to the following rate limits:

| Request type       | Limit                       |
| ------------------ | --------------------------- |
| `GET` requests     | 100 requests per 60 seconds |
| All other requests | 25 requests per 60 seconds  |

### Handling rate limits

Design your integration to avoid exceeding these limits. We recommend implementing client-side rate limiting so requests are spread evenly over time rather than sent in large bursts.

If your application receives a `429 Too Many Requests` response, it should wait before retrying the request. We recommend retrying after approximately 30 seconds.

### Recommended request patterns

To avoid unnecessary API usage and improve reliability:

* Do not continuously poll API endpoints for status updates.
* Use [webhooks](/api-reference/webhooks/list) where possible, especially for status or state-change events.
* Add a global concurrency limit across your application, not just per worker or per process.
* Cache `GET` responses where appropriate.
* Avoid running multiple parallel jobs that may unintentionally create request spikes.

Following these practices will help your integration remain reliable and avoid temporary throttling.

## Resources

### Content

Content items are the core resource. See the [developer guide](/api-reference/content/introduction) for processing types, the [content object](/api-reference/content/overview), and [syndication](/api-reference/content/syndicated).

**Example: create content with `auto_segment`**

Send `title` as plain text. `body` should be HTML.

<CodeGroup>
  ```bash Request theme={null}
  curl -X POST "https://api.beyondwords.io/v1/projects/{project_id}/content" \
    -H "X-Api-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "auto_segment",
      "title": "Article title",
      "body": "<p>First paragraph.</p><p>Second paragraph.</p>",
      "source_id": "cms-article-123",
      "source_url": "https://example.com/article"
    }'
  ```

  ```json Response theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "queued",
    "type": "auto_segment",
    "title": "Article title",
    "body": "<p>First paragraph.</p><p>Second paragraph.</p>",
    "source_id": "cms-article-123",
    "source_url": "https://example.com/article",
    "published": true,
    "segments": [],
    "audio": [],
    "video": [],
    "created": "2025-06-08T10:00:00.000Z",
    "updated": "2025-06-08T10:00:00.000Z"
  }
  ```
</CodeGroup>

Set up [webhooks](/api-reference/webhooks/list) to be notified when processing completes. See the [Webhooks guide](/docs-and-guides/integrations/webhooks) for setup.

**Endpoints**

* [Create and generate content](/api-reference/content/create)
* [Get content](/api-reference/content/show)
* [Update content](/api-reference/content/update)
* [Delete content](/api-reference/content/delete)
* [Regenerate content](/api-reference/content/regenerate)
* [Summarize content](/api-reference/content/summarize)
* [Upload file](/api-reference/content/upload)
* [List content](/api-reference/content/list)

### Extraction

Control how text is extracted from webpages when ingesting content.

**Filters**

* [Content filters overview](/api-reference/content-filters/overview)
* [List content filters](/api-reference/content-filters/list)
* [Create content filter](/api-reference/content-filters/create)
* [Get content filter](/api-reference/content-filters/show)
* [Update content filter](/api-reference/content-filters/update)
* [Delete content filter](/api-reference/content-filters/delete)

**Extraction settings**

* [Get content extraction settings](/api-reference/content-extraction-settings/show)
* [Update content extraction settings](/api-reference/content-extraction-settings/update)

### Pronunciation settings

* [List pronunciation rules](/api-reference/rules/list)
* [Create pronunciation rule](/api-reference/rules/create)
* [Get pronunciation rule](/api-reference/rules/show)
* [Update pronunciation rule](/api-reference/rules/update)
* [Delete pronunciation rule](/api-reference/rules/delete)

### Script settings

* [Get project script settings](/api-reference/summarization-settings/show)
* [Update project script settings](/api-reference/summarization-settings/update)

**Script templates**

* [List script templates](/api-reference/summarization-settings-templates/list)
* [Create script template](/api-reference/summarization-settings-templates/create)
* [Get script template](/api-reference/summarization-settings-templates/show)
* [Update script template](/api-reference/summarization-settings-templates/update)
* [Delete script template](/api-reference/summarization-settings-templates/delete)

### Video settings

* [Get video settings](/api-reference/video-settings/show)
* [Update video settings](/api-reference/video-settings/update)

**Video templates**

* [List video settings templates](/api-reference/video-settings-templates/list)
* [Create video settings template](/api-reference/video-settings-templates/create)
* [Get video settings template](/api-reference/video-settings-templates/show)
* [Update video settings template](/api-reference/video-settings-templates/update)
* [Delete video settings template](/api-reference/video-settings-templates/delete)
* [Preview video settings template](/api-reference/video-settings-templates/preview)

### Background music settings

* [List background tracks](/api-reference/background-tracks/list)
* [Create background tracks](/api-reference/background-tracks/create)
* [Get background track](/api-reference/background-tracks/show)
* [Update background track](/api-reference/background-tracks/update)
* [Delete background track](/api-reference/background-tracks/delete)

### Voices

**Voices**

* [List voices](/api-reference/voices/list)
* [Get voice](/api-reference/voices/show)
* [Update voice](/api-reference/voices/update)
* [Delete voice](/api-reference/voices/delete)

**Voice generation**

* [Design voice previews](/api-reference/voices/design-previews)
* [Finalize voice design](/api-reference/voices/finalize-design)

**Speakers**

* [List speakers](/api-reference/speakers/list)
* [Create speaker](/api-reference/speakers/create)
* [Get speaker](/api-reference/speakers/show)
* [Update speaker](/api-reference/speakers/update)
* [Delete speaker](/api-reference/speakers/delete)

**Voice cloning**

* [Create voice](/api-reference/voices/create)
* [Clone instant voice](/api-reference/voices/clone)

**Languages**

* [List languages](/api-reference/languages/list)

### Distribution

**Player**

* [Get player by content ID](/api-reference/player/by-content-id)
* [Get player by source ID](/api-reference/player/by-source-id)
* [Get player by source URL](/api-reference/player/by-source-url)
* [Get player by playlist ID](/api-reference/player/by-playlist-id)
* [Get player by multiple identifiers](/api-reference/player/by-identifiers)

**Player settings**

* [Get player settings](/api-reference/player-settings/show)
* [Update player settings](/api-reference/player-settings/update)

**Access tiers**

* [List access tiers](/api-reference/access-tiers/list)
* [Create access tier](/api-reference/access-tiers/create)
* [Get access tier](/api-reference/access-tiers/show)
* [Update access tier](/api-reference/access-tiers/update)

**Playlists**

* [List playlists](/api-reference/playlists/list)
* [Create playlist](/api-reference/playlists/create)
* [Get playlist](/api-reference/playlists/show)
* [Update playlist](/api-reference/playlists/update)
* [Delete playlist](/api-reference/playlists/delete)

**Podcast feeds**

* [Get podcast feed settings](/api-reference/podcast-feeds/get-settings)
* [Update podcast feed settings](/api-reference/podcast-feeds/update-settings)

### Integrations

**Webhooks**

* [List webhooks](/api-reference/webhooks/list)
* [Create webhook](/api-reference/webhooks/create)
* [Get webhook](/api-reference/webhooks/show)
* [Update webhook](/api-reference/webhooks/update)
* [Delete webhook](/api-reference/webhooks/delete)
* [Test webhook](/api-reference/webhooks/test)

**RSS feed importer**

* [List RSS feed imports](/api-reference/rss-feed-importer/list)
* [Create RSS feed import](/api-reference/rss-feed-importer/create)
* [Get RSS feed import](/api-reference/rss-feed-importer/show)
* [Update RSS feed import](/api-reference/rss-feed-importer/update)
* [Delete RSS feed import](/api-reference/rss-feed-importer/delete)
* [Run RSS feed import](/api-reference/rss-feed-importer/run)
* [Test RSS feed import](/api-reference/rss-feed-importer/test)

**Magic Embed**

* [Get Magic Embed settings](/api-reference/magic-embed/show)
* [Update Magic Embed settings](/api-reference/magic-embed/update)

**Ghost**

* [Get Ghost integration](/api-reference/ghost/show)
* [Update Ghost integration](/api-reference/ghost/update)
* [Test Ghost integration](/api-reference/ghost/test)
* [Ghost posts webhook](/api-reference/ghost/posts)

### Analytics

**Content**

* [Get organization analytics](/api-reference/analytics/organization-analytics)
* [List projects analytics](/api-reference/analytics/projects-analytics)
* [Get project analytics](/api-reference/analytics/project-analytics)
* [List content analytics](/api-reference/analytics/contents-analytics)
* [Get content analytics](/api-reference/analytics/content-analytics)

**Ads**

* [List ads analytics](/api-reference/analytics/ads-analytics)
* [Get ad analytics](/api-reference/analytics/ad-analytics)

### Monetization

**Ads**

* [List ads](/api-reference/ads/list)
* [Create ad](/api-reference/ads/create)
* [Get ad](/api-reference/ads/show)
* [Update ad](/api-reference/ads/update)
* [Delete ad](/api-reference/ads/delete)

### Organization

**Projects**

* [List projects](/api-reference/projects/list)
* [Create project](/api-reference/projects/create)
* [Get project](/api-reference/projects/show)
* [Update project](/api-reference/projects/update)
* [Delete project](/api-reference/projects/delete)
* [Get project voices](/api-reference/projects/voices)
