# Endless API reference

REST API for the Endless platform. Every endpoint requires JWT authentication via a `Bearer` token. These pages are generated from the OpenAPI spec, served at https://api.endless.app/openapi.json.

How versions are pinned and operations retired: [Endless API versioning and deprecation policy](https://endless.app/docs/reference/api-versioning.md).

Source: https://endless.app/docs/api

## Access

- [Create access grant](https://endless.app/docs/api/access/create-grant.md): `POST /access/{resource_type}/{resource_id}/grants`
- [Delete access grant](https://endless.app/docs/api/access/delete-grant.md): `DELETE /access/{resource_type}/{resource_id}/grants/{grant_id}`
- [Get access](https://endless.app/docs/api/access/get.md): `GET /access/{resource_type}/{resource_id}`
- [Update access general access](https://endless.app/docs/api/access/update-general-access.md): `PATCH /access/{resource_type}/{resource_id}`
- [Update access grant](https://endless.app/docs/api/access/update-grant.md): `PATCH /access/{resource_type}/{resource_id}/grants/{grant_id}`

## Activity

- [List activity](https://endless.app/docs/api/activity/list.md): `GET /organizations/{organization_id}/activity`

## Alert policy

- [Get alert policy](https://endless.app/docs/api/alert-policy/get.md): `GET /organizations/{organization_id}/alert-policy`
- [Update alert policy](https://endless.app/docs/api/alert-policy/update.md): `PATCH /organizations/{organization_id}/alert-policy`

## Assets

- [Create asset](https://endless.app/docs/api/assets/create.md): `POST /assets`
- [Delete asset](https://endless.app/docs/api/assets/delete.md): `DELETE /assets/{asset_id}`
- [Extract prompt from asset](https://endless.app/docs/api/assets/extract-prompt.md): `POST /assets/{asset_id}/prompt`
- [Get asset](https://endless.app/docs/api/assets/get.md): `GET /assets/{asset_id}`
- [Import asset from link](https://endless.app/docs/api/assets/import-from-link.md): `POST /assets/imports/link`
- [List models used by assets](https://endless.app/docs/api/assets/list-models.md): `GET /assets/models`
- [List asset voices](https://endless.app/docs/api/assets/list-voices.md): `GET /assets/{asset_id}/voices`
- [List assets](https://endless.app/docs/api/assets/list.md): `GET /assets`
- [Restore asset](https://endless.app/docs/api/assets/restore.md): `POST /assets/{asset_id}/restore`
- [Update asset](https://endless.app/docs/api/assets/update.md): `PATCH /assets/{asset_id}`

## Billing

- [Cancel scheduled plan change](https://endless.app/docs/api/billing/cancel-scheduled-change.md): `DELETE /organizations/{organization_id}/subscription/scheduled-change`
- [Change subscription plan](https://endless.app/docs/api/billing/change-plan.md): `PATCH /organizations/{organization_id}/subscription`
- [Create billing customer](https://endless.app/docs/api/billing/create-customer.md): `POST /organizations/{organization_id}/billing/customer`
- [Create billing portal session](https://endless.app/docs/api/billing/create-portal-session.md): `POST /organizations/{organization_id}/billing/portal-sessions`
- [List billing events](https://endless.app/docs/api/billing/events.md): `GET /organizations/{organization_id}/billing/events`
- [Get billing info](https://endless.app/docs/api/billing/info.md): `GET /organizations/{organization_id}/billing`
- [Preview plan change](https://endless.app/docs/api/billing/preview-change.md): `GET /organizations/{organization_id}/subscription/preview`
- [Get subscription status](https://endless.app/docs/api/billing/subscription-status.md): `GET /organizations/{organization_id}/subscription`
- [Update billing customer](https://endless.app/docs/api/billing/update-customer.md): `PATCH /organizations/{organization_id}/billing/customer`

## Canvases

- [Create canvas](https://endless.app/docs/api/canvases/create.md): `POST /canvases`
- [Delete canvas](https://endless.app/docs/api/canvases/delete.md): `DELETE /canvases/{canvas_id}`
- [Get canvas access](https://endless.app/docs/api/canvases/get-access.md): `GET /canvases/{canvas_id}/access`
- [Get canvas](https://endless.app/docs/api/canvases/get.md): `GET /canvases/{canvas_id}`
- [List canvases](https://endless.app/docs/api/canvases/list.md): `GET /canvases`
- [Update canvas](https://endless.app/docs/api/canvases/update.md): `PATCH /canvases/{canvas_id}`

## Chat models

- [List available chat models](https://endless.app/docs/api/chat-models/available.md): `GET /chat-models/available`
- [Copy chat model list](https://endless.app/docs/api/chat-models/copy-list.md): `GET /chat-models/{chat_model_id}/copy`
- [Copy chat model upsert](https://endless.app/docs/api/chat-models/copy-upsert.md): `PUT /chat-models/{chat_model_id}/copy`
- [Get chat model](https://endless.app/docs/api/chat-models/get.md): `GET /chat-models/{chat_model_id}`
- [List chat models](https://endless.app/docs/api/chat-models/list.md): `GET /chat-models`

## Connector credentials

- [Delete connector credential](https://endless.app/docs/api/connector-credentials/delete.md): `DELETE /connector-credentials/{connector_id}`
- [List connector credentials](https://endless.app/docs/api/connector-credentials/list.md): `GET /connector-credentials`
- [Set connector credential](https://endless.app/docs/api/connector-credentials/put.md): `PATCH /connector-credentials/{connector_id}`

## Connectors

- [Create connector](https://endless.app/docs/api/connectors/create.md): `POST /connectors`
- [Delete connector](https://endless.app/docs/api/connectors/delete.md): `DELETE /connectors/{connector_id}`
- [Update connector](https://endless.app/docs/api/connectors/update.md): `PATCH /connectors/{connector_id}`

## Conversations

- [Create conversation](https://endless.app/docs/api/conversations/create.md): `POST /conversations`
- [Delete conversation](https://endless.app/docs/api/conversations/delete.md): `DELETE /conversations/{conversation_id}`
- [Fork conversation](https://endless.app/docs/api/conversations/fork.md): `POST /conversations/{conversation_id}/fork`
- [Get conversation access](https://endless.app/docs/api/conversations/get-access.md): `GET /conversations/{conversation_id}/access`
- [Get conversation](https://endless.app/docs/api/conversations/get.md): `GET /conversations/{conversation_id}`
- [List conversations](https://endless.app/docs/api/conversations/list.md): `GET /conversations`
- [Append conversation message](https://endless.app/docs/api/conversations/messages-append.md): `POST /conversations/{conversation_id}/messages`
- [List conversation messages](https://endless.app/docs/api/conversations/messages-list.md): `GET /conversations/{conversation_id}/messages`
- [Recall conversations](https://endless.app/docs/api/conversations/recall.md): `GET /conversations/recall`
- [Restore conversation](https://endless.app/docs/api/conversations/restore.md): `POST /conversations/{conversation_id}/restore`
- [Acquire conversation run lock](https://endless.app/docs/api/conversations/run-acquire.md): `POST /conversations/{conversation_id}/run`
- [Release conversation run lock](https://endless.app/docs/api/conversations/run-release.md): `DELETE /conversations/{conversation_id}/run`
- [Snapshot conversation run](https://endless.app/docs/api/conversations/run-snapshot.md): `POST /conversations/{conversation_id}/run/snapshot`
- [Update conversation](https://endless.app/docs/api/conversations/update.md): `PATCH /conversations/{conversation_id}`

## Credits

- [Get credit balance](https://endless.app/docs/api/credits/balance.md): `GET /organizations/{organization_id}/credits`
- [Begin credits chat run](https://endless.app/docs/api/credits/chat-runs-begin.md): `POST /organizations/{organization_id}/credits/chat-runs/begin`
- [Capture credits chat run](https://endless.app/docs/api/credits/chat-runs-capture.md): `POST /organizations/{organization_id}/credits/chat-runs/capture`
- [Settle credits chat run](https://endless.app/docs/api/credits/chat-runs-settle.md): `POST /organizations/{organization_id}/credits/chat-runs/settle`
- [Get credit cycle](https://endless.app/docs/api/credits/cycle.md): `GET /organizations/{organization_id}/credits/cycle`
- [List credit transactions](https://endless.app/docs/api/credits/transactions.md): `GET /organizations/{organization_id}/credits/transactions`

## Custom skills

- [Create custom skill](https://endless.app/docs/api/custom-skills/create.md): `POST /skills`
- [Delete custom skill](https://endless.app/docs/api/custom-skills/delete.md): `DELETE /skills/{skill_id}`
- [Get custom skill](https://endless.app/docs/api/custom-skills/get.md): `GET /skills/{skill_id}`
- [Update custom skill](https://endless.app/docs/api/custom-skills/update.md): `PATCH /skills/{skill_id}`

## Documents

- [Get document access](https://endless.app/docs/api/documents/get-access.md): `GET /documents/{doc_id}/access`

## Generations

- [Create generation](https://endless.app/docs/api/generations/create.md): `POST /generations`
- [Get generation](https://endless.app/docs/api/generations/get.md): `GET /generations/{generation_id}`
- [List generations](https://endless.app/docs/api/generations/list.md): `GET /generations`
- [Quote generation](https://endless.app/docs/api/generations/quote.md): `POST /generations/quote`
- [Update generation](https://endless.app/docs/api/generations/update.md): `PATCH /generations/{generation_id}`

## Invitations

- [Create invitation](https://endless.app/docs/api/invitations/create.md): `POST /organizations/{organization_id}/invitations`
- [Decline invitation](https://endless.app/docs/api/invitations/decline.md): `POST /organizations/{organization_id}/invitations/{invitation_id}/decline`
- [Delete invitation](https://endless.app/docs/api/invitations/delete.md): `DELETE /organizations/{organization_id}/invitations/{invitation_id}`
- [List invitations](https://endless.app/docs/api/invitations/list.md): `GET /organizations/{organization_id}/invitations`
- [Update invitation](https://endless.app/docs/api/invitations/update.md): `PATCH /organizations/{organization_id}/invitations/{invitation_id}`

## Library

- [List library](https://endless.app/docs/api/library/list.md): `GET /library`

## Members

- [Get member credits](https://endless.app/docs/api/members/credits.md): `GET /organizations/{organization_id}/members/{user_id}/credits`
- [Delete member](https://endless.app/docs/api/members/delete.md): `DELETE /organizations/{organization_id}/members/{user_id}`
- [Get member](https://endless.app/docs/api/members/get.md): `GET /organizations/{organization_id}/members/{user_id}`
- [Leave organization](https://endless.app/docs/api/members/leave.md): `POST /organizations/{organization_id}/leave`
- [List members](https://endless.app/docs/api/members/list.md): `GET /organizations/{organization_id}/members`
- [Update member](https://endless.app/docs/api/members/update.md): `PATCH /organizations/{organization_id}/members/{user_id}`

## Models

- [Public model list](https://endless.app/docs/api/models/public-list.md): `GET /models/public`

## Organization logo

- [Remove organization logo](https://endless.app/docs/api/organization-logo/remove.md): `DELETE /organizations/{organization_id}/logo`
- [Update organization logo](https://endless.app/docs/api/organization-logo/update.md): `PUT /organizations/{organization_id}/logo`

## Organizations

- [Check slug availability](https://endless.app/docs/api/organizations/available-slug.md): `GET /organizations/available-slug`
- [Create organization](https://endless.app/docs/api/organizations/create.md): `POST /organizations`
- [Delete organization](https://endless.app/docs/api/organizations/delete.md): `DELETE /organizations/{organization_id}`
- [Get organization](https://endless.app/docs/api/organizations/get.md): `GET /organizations/{organization_id}`
- [Mark organization as onboarded](https://endless.app/docs/api/organizations/onboarded.md): `POST /organizations/{organization_id}/onboarded`
- [Update organization](https://endless.app/docs/api/organizations/update.md): `PATCH /organizations/{organization_id}`

## Projects

- [List project accounts](https://endless.app/docs/api/projects/accounts.md): `GET /projects/accounts`
- [Archive project](https://endless.app/docs/api/projects/archive.md): `POST /projects/{project_id}/archive`
- [Add project asset](https://endless.app/docs/api/projects/assets-add.md): `POST /projects/{project_id}/assets`
- [List project assets](https://endless.app/docs/api/projects/assets-list.md): `GET /projects/{project_id}/assets`
- [Remove project asset](https://endless.app/docs/api/projects/assets-remove.md): `DELETE /projects/{project_id}/assets/{asset_id}`
- [Add project canvas](https://endless.app/docs/api/projects/canvases-add.md): `POST /projects/{project_id}/canvases`
- [List project canvases](https://endless.app/docs/api/projects/canvases-list.md): `GET /projects/{project_id}/canvases`
- [Remove project canvas](https://endless.app/docs/api/projects/canvases-remove.md): `DELETE /projects/{project_id}/canvases/{canvas_id}`
- [Add project conversation](https://endless.app/docs/api/projects/conversations-add.md): `POST /projects/{project_id}/conversations`
- [List project conversations](https://endless.app/docs/api/projects/conversations-list.md): `GET /projects/{project_id}/conversations`
- [Remove project conversation](https://endless.app/docs/api/projects/conversations-remove.md): `DELETE /projects/{project_id}/conversations/{conversation_id}`
- [Create project](https://endless.app/docs/api/projects/create.md): `POST /projects`
- [Delete project](https://endless.app/docs/api/projects/delete.md): `DELETE /projects/{project_id}`
- [List projects for asset](https://endless.app/docs/api/projects/for-asset.md): `GET /assets/{asset_id}/projects`
- [List projects for canvas](https://endless.app/docs/api/projects/for-canvas.md): `GET /canvases/{canvas_id}/projects`
- [List projects for conversation](https://endless.app/docs/api/projects/for-chat.md): `GET /conversations/{conversation_id}/projects`
- [List projects for skill](https://endless.app/docs/api/projects/for-skill.md): `GET /skills/{skill_id}/projects`
- [Get project](https://endless.app/docs/api/projects/get.md): `GET /projects/{project_id}`
- [List projects](https://endless.app/docs/api/projects/list.md): `GET /projects`
- [Restore project](https://endless.app/docs/api/projects/restore.md): `POST /projects/{project_id}/restore`
- [Add project skill](https://endless.app/docs/api/projects/skills-add.md): `POST /projects/{project_id}/skills`
- [List project skills](https://endless.app/docs/api/projects/skills-list.md): `GET /projects/{project_id}/skills`
- [Remove project skill](https://endless.app/docs/api/projects/skills-remove.md): `DELETE /projects/{project_id}/skills/{skill_id}`
- [Unarchive project](https://endless.app/docs/api/projects/unarchive.md): `POST /projects/{project_id}/unarchive`
- [Update project](https://endless.app/docs/api/projects/update.md): `PATCH /projects/{project_id}`

## Reports

- [Get credit balance and runway](https://endless.app/docs/api/reports/balance.md): `GET /organizations/{organization_id}/reports/balance`
- [Get workspace inventory](https://endless.app/docs/api/reports/inventory.md): `POST /reports/inventory`
- [Query a usage report](https://endless.app/docs/api/reports/query.md): `POST /reports/query`

## Roles

- [List roles](https://endless.app/docs/api/roles/list.md): `GET /organizations/{organization_id}/roles`
- [Reset role permissions](https://endless.app/docs/api/roles/reset-permissions.md): `DELETE /organizations/{organization_id}/roles`
- [Set role permissions](https://endless.app/docs/api/roles/set-permissions.md): `PATCH /organizations/{organization_id}/roles`

## Scheduled tasks

- [Cancel scheduled task run](https://endless.app/docs/api/scheduled-tasks/cancel-run.md): `POST /scheduled-tasks/{scheduled_task_id}/runs/cancel`
- [Complete scheduled task run](https://endless.app/docs/api/scheduled-tasks/complete-run.md): `POST /scheduled-tasks/{scheduled_task_id}/runs`
- [Create scheduled task](https://endless.app/docs/api/scheduled-tasks/create.md): `POST /scheduled-tasks`
- [Delete scheduled task](https://endless.app/docs/api/scheduled-tasks/delete.md): `DELETE /scheduled-tasks/{scheduled_task_id}`
- [Get scheduled task](https://endless.app/docs/api/scheduled-tasks/get.md): `GET /scheduled-tasks/{scheduled_task_id}`
- [List scheduled tasks](https://endless.app/docs/api/scheduled-tasks/list.md): `GET /scheduled-tasks`
- [List all scheduled task runs](https://endless.app/docs/api/scheduled-tasks/org-runs.md): `GET /scheduled-task-runs`
- [List scheduled task run email recipients](https://endless.app/docs/api/scheduled-tasks/run-email-recipients.md): `GET /scheduled-tasks/{scheduled_task_id}/runs/email-recipients`
- [Trigger scheduled task](https://endless.app/docs/api/scheduled-tasks/trigger.md): `POST /scheduled-tasks/{scheduled_task_id}/trigger`
- [Update scheduled task](https://endless.app/docs/api/scheduled-tasks/update.md): `PATCH /scheduled-tasks/{scheduled_task_id}`

## Search

- [List the search operations](https://endless.app/docs/api/search/operations.md): `GET /search/operations`
- [Read web pages](https://endless.app/docs/api/search/read-url.md): `POST /read-url`
- [Search the web](https://endless.app/docs/api/search/web.md): `POST /search`

## Social

- [Facebook group posts](https://endless.app/docs/api/social/facebook-group-posts.md): `POST /social/facebook_group_posts`
- [Facebook group](https://endless.app/docs/api/social/facebook-group.md): `POST /social/facebook_group`
- [Facebook page posts](https://endless.app/docs/api/social/facebook-page-posts.md): `POST /social/facebook_page_posts`
- [Facebook page reels](https://endless.app/docs/api/social/facebook-page-reels.md): `POST /social/facebook_page_reels`
- [Facebook page](https://endless.app/docs/api/social/facebook-page.md): `POST /social/facebook_page`
- [Facebook post comments](https://endless.app/docs/api/social/facebook-post-comments.md): `POST /social/facebook_post_comments`
- [Facebook post](https://endless.app/docs/api/social/facebook-post.md): `POST /social/facebook_post`
- [Facebook search](https://endless.app/docs/api/social/facebook-search.md): `POST /social/facebook_search`
- [Instagram highlight stories](https://endless.app/docs/api/social/instagram-highlight-stories.md): `POST /social/instagram_highlight_stories`
- [Instagram post comments](https://endless.app/docs/api/social/instagram-post-comments.md): `POST /social/instagram_post_comments`
- [Instagram post](https://endless.app/docs/api/social/instagram-post.md): `POST /social/instagram_post`
- [Instagram profile](https://endless.app/docs/api/social/instagram-profile.md): `POST /social/instagram_profile`
- [Instagram user highlights](https://endless.app/docs/api/social/instagram-user-highlights.md): `POST /social/instagram_user_highlights`
- [Instagram user posts](https://endless.app/docs/api/social/instagram-user-posts.md): `POST /social/instagram_user_posts`
- [Instagram user reels](https://endless.app/docs/api/social/instagram-user-reels.md): `POST /social/instagram_user_reels`
- [Instagram user stories](https://endless.app/docs/api/social/instagram-user-stories.md): `POST /social/instagram_user_stories`
- [LinkedIn company posts](https://endless.app/docs/api/social/linkedin-company-posts.md): `POST /social/linkedin_company_posts`
- [LinkedIn company](https://endless.app/docs/api/social/linkedin-company.md): `POST /social/linkedin_company`
- [LinkedIn post](https://endless.app/docs/api/social/linkedin-post.md): `POST /social/linkedin_post`
- [LinkedIn profile](https://endless.app/docs/api/social/linkedin-profile.md): `POST /social/linkedin_profile`
- [LinkedIn search people](https://endless.app/docs/api/social/linkedin-search-people.md): `POST /social/linkedin_search_people`
- [LinkedIn search posts](https://endless.app/docs/api/social/linkedin-search-posts.md): `POST /social/linkedin_search_posts`
- [LinkedIn user posts](https://endless.app/docs/api/social/linkedin-user-posts.md): `POST /social/linkedin_user_posts`
- [List social operations](https://endless.app/docs/api/social/operations.md): `GET /social/operations`
- [Quote a social operation](https://endless.app/docs/api/social/quote.md): `POST /social/{operation}/quote`
- [Reddit post comments](https://endless.app/docs/api/social/reddit-post-comments.md): `POST /social/reddit_post_comments`
- [Reddit post](https://endless.app/docs/api/social/reddit-post.md): `POST /social/reddit_post`
- [Reddit search](https://endless.app/docs/api/social/reddit-search.md): `POST /social/reddit_search`
- [Reddit subreddit posts](https://endless.app/docs/api/social/reddit-subreddit-posts.md): `POST /social/reddit_subreddit_posts`
- [Resolve a social mention](https://endless.app/docs/api/social/resolve-mention.md): `POST /social/resolve_mention`
- [TikTok hashtag posts](https://endless.app/docs/api/social/tiktok-hashtag-posts.md): `POST /social/tiktok_hashtag_posts`
- [TikTok music posts](https://endless.app/docs/api/social/tiktok-music-posts.md): `POST /social/tiktok_music_posts`
- [TikTok post comments](https://endless.app/docs/api/social/tiktok-post-comments.md): `POST /social/tiktok_post_comments`
- [TikTok post](https://endless.app/docs/api/social/tiktok-post.md): `POST /social/tiktok_post`
- [TikTok profile](https://endless.app/docs/api/social/tiktok-profile.md): `POST /social/tiktok_profile`
- [TikTok search](https://endless.app/docs/api/social/tiktok-search.md): `POST /social/tiktok_search`
- [TikTok trend scan](https://endless.app/docs/api/social/tiktok-trend-scan.md): `POST /social/tiktok_trend_scan`
- [TikTok trending](https://endless.app/docs/api/social/tiktok-trending.md): `POST /social/tiktok_trending`
- [TikTok user posts](https://endless.app/docs/api/social/tiktok-user-posts.md): `POST /social/tiktok_user_posts`
- [Get trending topics](https://endless.app/docs/api/social/trends.md): `GET /social/trends`
- [X post comments](https://endless.app/docs/api/social/x-post-comments.md): `POST /social/x_post_comments`
- [X post](https://endless.app/docs/api/social/x-post.md): `POST /social/x_post`
- [X profile](https://endless.app/docs/api/social/x-profile.md): `POST /social/x_profile`
- [X search](https://endless.app/docs/api/social/x-search.md): `POST /social/x_search`
- [X trends](https://endless.app/docs/api/social/x-trends.md): `POST /social/x_trends`
- [X tweet engagers](https://endless.app/docs/api/social/x-tweet-engagers.md): `POST /social/x_tweet_engagers`
- [X user connections](https://endless.app/docs/api/social/x-user-connections.md): `POST /social/x_user_connections`
- [X user posts](https://endless.app/docs/api/social/x-user-posts.md): `POST /social/x_user_posts`
- [YouTube channel playlists](https://endless.app/docs/api/social/youtube-channel-playlists.md): `POST /social/youtube_channel_playlists`
- [YouTube channel shorts](https://endless.app/docs/api/social/youtube-channel-shorts.md): `POST /social/youtube_channel_shorts`
- [YouTube channel videos](https://endless.app/docs/api/social/youtube-channel-videos.md): `POST /social/youtube_channel_videos`
- [YouTube channel](https://endless.app/docs/api/social/youtube-channel.md): `POST /social/youtube_channel`
- [YouTube search](https://endless.app/docs/api/social/youtube-search.md): `POST /social/youtube_search`
- [YouTube trending](https://endless.app/docs/api/social/youtube-trending.md): `POST /social/youtube_trending`
- [YouTube video](https://endless.app/docs/api/social/youtube-video.md): `POST /social/youtube_video`

## Teams

- [Create team](https://endless.app/docs/api/teams/create.md): `POST /teams`
- [Get team credits](https://endless.app/docs/api/teams/credits.md): `GET /teams/{team_id}/credits`
- [Delete team](https://endless.app/docs/api/teams/delete.md): `DELETE /teams/{team_id}`
- [Get team](https://endless.app/docs/api/teams/get.md): `GET /teams/{team_id}`
- [List teams](https://endless.app/docs/api/teams/list.md): `GET /teams`
- [Add team member](https://endless.app/docs/api/teams/members-add.md): `POST /teams/{team_id}/members`
- [List team members](https://endless.app/docs/api/teams/members-list.md): `GET /teams/{team_id}/members`
- [Remove team member](https://endless.app/docs/api/teams/members-remove.md): `DELETE /teams/{team_id}/members/{user_id}`
- [Update team](https://endless.app/docs/api/teams/update.md): `PATCH /teams/{team_id}`

## Tools

- [List tools](https://endless.app/docs/api/tools/list.md): `GET /tools`
- [Resolve tools](https://endless.app/docs/api/tools/resolve.md): `POST /tools/resolved`
- [Set tool state](https://endless.app/docs/api/tools/set-state.md): `PATCH /tools/{tool_kind}/{tool_id}`

## Transcripts

- [Create transcript](https://endless.app/docs/api/transcripts/create.md): `POST /transcripts`
- [Get transcript](https://endless.app/docs/api/transcripts/get.md): `GET /transcripts/{transcript_id}`
- [Reserve transcript audio upload](https://endless.app/docs/api/transcripts/reserve-audio.md): `POST /transcripts/audio`
- [Switch transcript language](https://endless.app/docs/api/transcripts/switch-language.md): `POST /transcripts/{transcript_id}/language`
- [Update transcript](https://endless.app/docs/api/transcripts/update.md): `PATCH /transcripts/{transcript_id}`

## Users

- [Read a brand's sources](https://endless.app/docs/api/users/brand-source.md): `POST /users/{user_id}/brand-source`
- [Delete user](https://endless.app/docs/api/users/delete.md): `DELETE /users/{user_id}`
- [Get user](https://endless.app/docs/api/users/get.md): `GET /users/{user_id}`
- [Remove user image](https://endless.app/docs/api/users/image-remove.md): `DELETE /users/{user_id}/image`
- [Update user image](https://endless.app/docs/api/users/image-update.md): `PUT /users/{user_id}/image`
- [List user memberships](https://endless.app/docs/api/users/memberships.md): `GET /users/{user_id}/memberships`
- [Find a social account's picture](https://endless.app/docs/api/users/social-avatar.md): `GET /users/{user_id}/social-profile/avatar`
- [Look up a social account](https://endless.app/docs/api/users/social-profile.md): `GET /users/{user_id}/social-profile`
- [List user teams](https://endless.app/docs/api/users/teams.md): `GET /users/{user_id}/teams`
- [Update user](https://endless.app/docs/api/users/update.md): `PATCH /users/{user_id}`

## Voices

- [Delete voice](https://endless.app/docs/api/voices/delete.md): `DELETE /voices/{voice_id}`
- [List voices](https://endless.app/docs/api/voices/list.md): `GET /voices`
- [Train voice](https://endless.app/docs/api/voices/train.md): `POST /voices`
- [Update voice](https://endless.app/docs/api/voices/update.md): `PATCH /voices/{voice_id}`

## Workspace chat models

- [Get workspace chat model governance](https://endless.app/docs/api/workspace-chat-models/governance.md): `GET /organizations/{organization_id}/chat-models/governance`
- [List workspace chat models](https://endless.app/docs/api/workspace-chat-models/list.md): `GET /organizations/{organization_id}/chat-models`
- [Set workspace chat model positions](https://endless.app/docs/api/workspace-chat-models/set-position.md): `PUT /organizations/{organization_id}/chat-models/position`
- [Set workspace chat model state](https://endless.app/docs/api/workspace-chat-models/set-state.md): `PATCH /organizations/{organization_id}/chat-models`

## Workspace models

- [Get workspace model governance](https://endless.app/docs/api/workspace-models/governance.md): `GET /organizations/{organization_id}/models/governance`
- [List workspace models](https://endless.app/docs/api/workspace-models/list.md): `GET /organizations/{organization_id}/models`
- [Set workspace model positions](https://endless.app/docs/api/workspace-models/set-position.md): `PUT /organizations/{organization_id}/models/position`
- [Set workspace model state](https://endless.app/docs/api/workspace-models/set-state.md): `PATCH /organizations/{organization_id}/models`
- [Get workspace model version](https://endless.app/docs/api/workspace-models/version.md): `GET /organizations/{organization_id}/models/{media_model_id}/versions/{version_id}`
