# Semji ## Docs - [Authentication](https://developers.semji.com/api-reference/authentication.md): Generate a Semji API key from Settings, send it as a Bearer token on every request, and handle 401 Unauthorized and 403 Forbidden errors in your integration. - [Get brand voice details](https://developers.semji.com/api-reference/brand-voices/get-brand-voice-details.md): Returns details of a brand voice. - [List brand voices](https://developers.semji.com/api-reference/brand-voices/list-brand-voices.md): Returns all brand voices configured for a workspace. Use the brand voice ID in POST /v1/contents/:id/atomic settings. - [Cancel a generation](https://developers.semji.com/api-reference/content-generations/cancel-a-generation.md): Cancels a generation that is queued, pending, or awaiting review. - [Confirm a generation](https://developers.semji.com/api-reference/content-generations/confirm-a-generation.md): Confirms and accepts the generated content. The draft is updated with the generation result. Requires status = "review". - [Get generation status](https://developers.semji.com/api-reference/content-generations/get-generation-status.md): Returns the current status of the Atomic Content generation attached to a content. Poll this endpoint to track progress. - [Create a content](https://developers.semji.com/api-reference/contents/create-a-content.md): Creates a new content draft in the workspace. Pass pageId to attach the draft to an existing imported page, or omit it to create a blank draft (editorial brief with no URL) — in that case an empty page is auto-created and returned in the response. - [Delete a content](https://developers.semji.com/api-reference/contents/delete-a-content.md): Permanently deletes a content. This action cannot be undone. - [Generate Atomic Content](https://developers.semji.com/api-reference/contents/generate-atomic-content.md): Launches an AI content generation on the draft. The keyword must have a completed SEO analysis. Poll GET /v1/contents/:id/generation to track progress. - [Get content details](https://developers.semji.com/api-reference/contents/get-content-details.md): Returns full details of a content, including HTML body, version, and embedded relations. - [List contents for a page](https://developers.semji.com/api-reference/contents/list-contents-for-a-page.md): Returns all content versions associated with a specific page. - [List contents in a workspace](https://developers.semji.com/api-reference/contents/list-contents-in-a-workspace.md): Returns a paginated list of contents. Supports filtering by status, assignee, folder, due date, and text search. - [Mark a content as published](https://developers.semji.com/api-reference/contents/mark-a-content-as-published.md): Marks the content as published in Semji. Call this endpoint after the content has been published on your CMS. If no URL is provided, the associated page URL is used. - [Update a content](https://developers.semji.com/api-reference/contents/update-a-content.md): Updates a content. The version field is required for optimistic locking. - [List credit usages](https://developers.semji.com/api-reference/credit-usages/list-credit-usages.md): Returns the credit consumption history for the organization, paginated. Each entry details a credit consumed with its context. - [Errors](https://developers.semji.com/api-reference/errors.md): Full reference for Semji API error codes, HTTP status codes, error response format, and handling strategies including retries and validation errors. - [Create a folder](https://developers.semji.com/api-reference/folders/create-a-folder.md): Creates a new folder in the workspace. - [Delete a folder](https://developers.semji.com/api-reference/folders/delete-a-folder.md): Deletes a folder. Contents inside the folder are not deleted — they become unorganized. - [List folders](https://developers.semji.com/api-reference/folders/list-folders.md): Returns all folders in a workspace as a flat list. Use parentFolderId to reconstruct the tree. - [Update a folder](https://developers.semji.com/api-reference/folders/update-a-folder.md): Updates a folder name or parent. Returns the updated folder. - [Add a keyword to a page](https://developers.semji.com/api-reference/keywords/add-a-keyword-to-a-page.md): Associates a keyword with a page. Creates the keyword if it does not exist. - [Generate SEO report](https://developers.semji.com/api-reference/keywords/generate-seo-report.md): Computes the SEO score of a content against the keyword analysis. Provide either contentId (by reference) or title + html (by value), not both. Requires a completed analysis. Note: metaDescription is accepted but not currently factored into the score. - [Get keyword details](https://developers.semji.com/api-reference/keywords/get-keyword-details.md): Returns full details of a keyword, including analysis status and focus prompt. - [Launch SEO analysis](https://developers.semji.com/api-reference/keywords/launch-seo-analysis.md): Triggers an asynchronous SEO analysis on a keyword. Poll GET /v1/keywords/:id to track progress via analysisStatus. - [List keywords for a page](https://developers.semji.com/api-reference/keywords/list-keywords-for-a-page.md): Returns all keywords associated with a page. Not paginated (pages rarely have more than 50 keywords). - [Update a keyword](https://developers.semji.com/api-reference/keywords/update-a-keyword.md): Updates a keyword (e.g. set or remove the focus GEO prompt). - [Get knowledge document details](https://developers.semji.com/api-reference/knowledge-documents/get-knowledge-document-details.md): Returns details of a knowledge document. - [List knowledge documents](https://developers.semji.com/api-reference/knowledge-documents/list-knowledge-documents.md): Returns all knowledge documents in a workspace. Enable knowledge sources in POST /v1/contents/:id/atomic settings. - [Get authenticated user](https://developers.semji.com/api-reference/me/get-authenticated-user.md): Returns the user authenticated by the API key, with the linked organization embedded. - [Overview](https://developers.semji.com/api-reference/overview.md): Introduction to the Semji REST API v1 — base URL, authentication, response format, rate limits, and the full list of available resources. - [Crawl a page](https://developers.semji.com/api-reference/pages/crawl-a-page.md): Triggers an asynchronous crawl to refresh the page metadata (title, meta description, etc.). Poll GET /v1/pages/:id to see updated data. - [Delete a page](https://developers.semji.com/api-reference/pages/delete-a-page.md): Deletes a page and its associated contents. - [Get page details](https://developers.semji.com/api-reference/pages/get-page-details.md): Returns full details of a page, including its focus keyword. - [Import a page](https://developers.semji.com/api-reference/pages/import-a-page.md): Imports an existing URL into the workspace (crawls it to extract title, meta description, etc.). Use this for pages you already have online and want to track. Optionally sets a URL category and focus keyword. To create a new editorial draft that does not yet have a URL, use POST /v1/workspaces/{work… - [List pages in a workspace](https://developers.semji.com/api-reference/pages/list-pages-in-a-workspace.md): Returns a paginated list of tracked pages in the workspace. Supports text search, category filtering, and sorting. - [Update a page](https://developers.semji.com/api-reference/pages/update-a-page.md): Updates a page focus keyword and/or URL category. The URL category cannot currently be unset once assigned. - [Create a prompt](https://developers.semji.com/api-reference/prompts/create-a-prompt.md): Creates a GEO prompt for a keyword. - [Generate GEO report](https://developers.semji.com/api-reference/prompts/generate-geo-report.md): Computes the GEO score of a content against the prompt analysis. Provide either contentId (by reference) or title + html (by value), not both. Requires a completed GEO analysis. Note: metaDescription is accepted but not currently factored into the score. - [Get prompt details](https://developers.semji.com/api-reference/prompts/get-prompt-details.md): Returns details of a prompt. Useful for polling analysisStatus after launching a GEO analysis. - [Launch GEO analysis](https://developers.semji.com/api-reference/prompts/launch-geo-analysis.md): Triggers an asynchronous GEO analysis on a prompt. The parent keyword must have a completed SEO analysis. Poll GET /v1/prompts/:id to track progress. - [List prompts for a keyword](https://developers.semji.com/api-reference/prompts/list-prompts-for-a-keyword.md): Returns GEO prompts associated with a keyword. - [Rate Limits](https://developers.semji.com/api-reference/rate-limits.md): Understand Semji API rate limits, how to read rate limit response headers, handle 429 errors, and implement exponential backoff in your integration. - [List organization members](https://developers.semji.com/api-reference/users/list-organization-members.md): Returns all members of the organization linked to the API key, with their role. - [Get workspace details](https://developers.semji.com/api-reference/workspaces/get-workspace-details.md): Returns details of a specific workspace. - [List content statuses](https://developers.semji.com/api-reference/workspaces/list-content-statuses.md): Returns all content statuses for a workspace, ordered by position. Includes system statuses ("to do", "published") which are read-only. - [List workspace members](https://developers.semji.com/api-reference/workspaces/list-workspace-members.md): Returns all members of a workspace with their role. - [List workspaces](https://developers.semji.com/api-reference/workspaces/list-workspaces.md): Returns all workspaces in the organization accessible to the authenticated user. - [Semji Documentation](https://developers.semji.com/index.md): Integrate Semji's AI-powered content marketing platform into your own tools and workflows — via the REST API or directly from your AI assistant. - [Quickstart](https://developers.semji.com/quickstart.md): Create your API key, retrieve your workspace, import a page, and optimize it with Atomic Content — all from the command line. ## OpenAPI Specs - [openapi](https://developers.semji.com/api-reference/openapi.json)