# Contextual AI Documentation ## Docs - [CCPA](https://docs.contextual.ai/admin-setup/ccpa.md) - [GDPR](https://docs.contextual.ai/admin-setup/gdpr.md) - [HIPAA](https://docs.contextual.ai/admin-setup/hipaa.md) - [LLMs.txt](https://docs.contextual.ai/admin-setup/llms-txt.md): Helping LLMs index Contextual AI content more efficiently - [Overview](https://docs.contextual.ai/admin-setup/overview.md): Everything You Need to Get Up & Running with Contextual AI - [Pricing & Billing](https://docs.contextual.ai/admin-setup/pricing-billing.md): Pricing overview and how to manage billing in your workspace - [Role-Based Access Control (RBAC)](https://docs.contextual.ai/admin-setup/rbac.md): Define custom roles and permission bundles across agents, datastores, and more. - [SOC 2](https://docs.contextual.ai/admin-setup/soc2.md): Contextual AI SOC 2 Compliance - [Get Metrics](https://docs.contextual.ai/api-reference/agents-query/get-metrics.md): Returns usage and user-provided feedback data. This information can be used for data-driven improvements and optimization. - [Get Retrieval Info](https://docs.contextual.ai/api-reference/agents-query/get-retrieval-info.md): Return metadata of the contents used to generate the response for a given message. - [Provide Feedback](https://docs.contextual.ai/api-reference/agents-query/provide-feedback.md): Provide feedback for a generation or a retrieval. Feedback can be used to track overall `Agent` performance through the `Feedback` page in the Contextual UI, and as a basis for model fine-tuning. - [Query](https://docs.contextual.ai/api-reference/agents-query/query.md): Start a conversation with an `Agent` and receive its generated response, along with relevant retrieved data and attributions. - [Query](https://docs.contextual.ai/api-reference/agents-query/query-1.md): Start a conversation with an `Agent` and receive its generated response, along with relevant retrieved data and attributions. - [Copy Agent](https://docs.contextual.ai/api-reference/agents/copy-agent.md): Copy an existing agent with all its configurations and datastore associations. The copied agent will have "[COPY]" appended to its name. - [Create Agent](https://docs.contextual.ai/api-reference/agents/create-agent.md): Create a new `Agent` with a specific configuration. This creates a specialized RAG `Agent` which queries over one or multiple `Datastores` to retrieve relevant data on which its generations are grounded. Retrieval and generation parameters are defined in the provided `Agent` configuration. > Note that self-serve users are currently required to create agents through our UI. Otherwise, they will receive the following message: "This endpoint is disabled as you need to go through checkout. Please use the UI to make this request." - [Delete Agent](https://docs.contextual.ai/api-reference/agents/delete-agent.md): Delete a given `Agent`. This is an irreversible operation. Note: `Datastores` which are associated with the `Agent` will not be deleted, even if no other `Agent` is using them. To delete a `Datastore`, use the `DELETE /datastores/{datastore_id}` API. - [Edit Agent](https://docs.contextual.ai/api-reference/agents/edit-agent.md): Modify a given `Agent` to utilize the provided configuration. Fields not included in the request body will not be modified. - [Get Agent Metadata](https://docs.contextual.ai/api-reference/agents/get-agent-metadata.md): Get metadata and configuration of a given `Agent`. - [Get Template Configuration](https://docs.contextual.ai/api-reference/agents/get-template-configuration.md) - [List Agent Composer Templates](https://docs.contextual.ai/api-reference/agents/list-agent-composer-templates.md): Retrieve a list of all available Agent Composer Templates. - [List Agents](https://docs.contextual.ai/api-reference/agents/list-agents.md): Retrieve a list of all `Agents`. - [List Templates](https://docs.contextual.ai/api-reference/agents/list-templates.md): Retrieve a list of all available Templates. - [Reset Agent](https://docs.contextual.ai/api-reference/agents/reset-agent.md): Reset a given `Agent` to default configuration. - [Save Template](https://docs.contextual.ai/api-reference/agents/save-template.md) - [Get Agent Composer Step Usage](https://docs.contextual.ai/api-reference/billing/get-agent-composer-step-usage.md): Get Agent Composer step-level usage data for a specific month. This API returns daily usages of advance queries grouped by steps. The data is used for visualization purposes to show users which Agent Composer steps were executed and their associated costs and token consumption. Note: The costs returned here are already included in the ACL_COST entry from the daily_usages table and should not be double-counted in billing. Args: request: Request object containing year, month, and optional resource_id user_context: User context with tenant admin permissions Returns: Agent Composer step usage data aggregated by step and date - [Get Balance](https://docs.contextual.ai/api-reference/billing/get-balance.md): Get the remaining balance for a tenant - [Get Billing Metadata](https://docs.contextual.ai/api-reference/billing/get-billing-metadata.md): Non admin endpoint for getting the billing metadata for a tenant. - [Get Billing Mode History](https://docs.contextual.ai/api-reference/billing/get-billing-mode-history.md): Get the billing mode history for a tenant for a specific month. Args: request: Request object containing year and month with validation user_context: User context with tenant admin permissions Returns: Billing mode history records for the specified month and year Returns at least one entry which is the mode of the first date of the given month, with potential mode changes in the middle of the month. If no record found, defaults to LEGACY mode. - [Get Earliest Usage Date Endpoint](https://docs.contextual.ai/api-reference/billing/get-earliest-usage-date-endpoint.md): Get the earliest usage date for a tenant - [Get Monthly Usage Endpoint](https://docs.contextual.ai/api-reference/billing/get-monthly-usage-endpoint.md): Get monthly usage data for a tenant with validation for year and month parameters. Args: request: Request object containing year and month with validation user_context: User context with tenant admin permissions resource_id: Optional[UUID]. If provided, get usage data for a specific resource. Otherwise, get aggregated usage data across all resources. Returns: Monthly usage records for the specified month and year - [Get Top Up History Endpoint](https://docs.contextual.ai/api-reference/billing/get-top-up-history-endpoint.md): Get the top-up history for a tenant. Paginated. - [Get Content Metadata](https://docs.contextual.ai/api-reference/contents/get-content-metadata.md) - [Get Document Contents](https://docs.contextual.ai/api-reference/contents/get-document-contents.md) - [Delete Document](https://docs.contextual.ai/api-reference/datastores-documents/delete-document.md): Delete a given document from its `Datastore`. This operation is irreversible. - [Edit Chunk Content](https://docs.contextual.ai/api-reference/datastores-documents/edit-chunk-content.md): Edit the content of a specific chunk in a datastore. This operation updates the chunk's text content and regenerates its embeddings. - [Get Document Metadata](https://docs.contextual.ai/api-reference/datastores-documents/get-document-metadata.md): Get details of a given document, including its `name` and ingestion job `status`. - [Get Parse Results](https://docs.contextual.ai/api-reference/datastores-documents/get-parse-results.md): Get the parse results that are generated during ingestion for a given document. Retrieving parse results for existing documents ingested before the release of this endpoint is not supported and will return a 404 error. - [Ingest Document](https://docs.contextual.ai/api-reference/datastores-documents/ingest-document.md): Ingest a document into a given `Datastore`. Ingestion is an asynchronous task. Returns a document `id` which can be used to track the status of the ingestion job through calls to the `GET /datastores/{datastore_id}/documents/{document_id}/metadata` API. This `id` can also be used to delete the document through the `DELETE /datastores/{datastore_id}/documents/{document_id}` API. `file` must be a PDF, HTML, DOC(X), PPT(X), PNG, JPG, or JPEG file. The filename must end with one of the following extensions: `.pdf`, `.html`, `.htm`, `.mhtml`, `.doc`, `.docx`, `.ppt`, `.pptx`, `.png`, `.jpg`, `.jpeg`. - [List Documents](https://docs.contextual.ai/api-reference/datastores-documents/list-documents.md): Get list of documents in a given `Datastore`, including document `id`, `name`, and ingestion job `status`. Performs `cursor`-based pagination if the number of documents exceeds the requested `limit`. The returned `cursor` can be passed to the next `GET /datastores/{datastore_id}/documents` call to retrieve the next set of documents. - [Update Document Metadata](https://docs.contextual.ai/api-reference/datastores-documents/update-document-metadata.md): Post details of a given document that will enrich the chunk and be added to the context or just for filtering. If Just for filtering, start with "_" in the key. - [Create Datastore](https://docs.contextual.ai/api-reference/datastores/create-datastore.md): Create a new `Datastore`. A `Datastore` is a collection of documents. Documents can be ingested into and deleted from a `Datastore`. A `Datastore` can be linked to one or more `Agents`, and conversely, an `Agent` can be associated with one or more `Datastores` to ground its responses with relevant data. This flexible many-to-many relationship allows `Agents` to draw from multiple sources of information. This linkage of `Datastore` to `Agent` is done through the `Create Agent` or `Edit Agent` APIs. > Note that self-serve users are currently required to create datastores through our UI. Otherwise, they will receive the following message: "This endpoint is disabled as you need to go through checkout. Please use the UI to make this request." - [Delete Datastore](https://docs.contextual.ai/api-reference/datastores/delete-datastore.md): Delete a given `Datastore`, including all the documents ingested into it. This operation is irreversible. This operation will fail with status code 400 if there is an active `Agent` associated with the `Datastore`. - [Edit Datastore Configuration](https://docs.contextual.ai/api-reference/datastores/edit-datastore-configuration.md) - [Get Datastore Metadata](https://docs.contextual.ai/api-reference/datastores/get-datastore-metadata.md): Get the details of a given `Datastore`, including its name, create time, and the list of `Agents` which are currently configured to use the `Datastore`. - [List Datastores](https://docs.contextual.ai/api-reference/datastores/list-datastores.md): Retrieve a list of `Datastores`. Performs `cursor`-based pagination if the number of `Datastores` exceeds the requested `limit`. The returned `cursor` can be passed to the next `GET /datastores` call to retrieve the next set of `Datastores`. - [Reset Datastore](https://docs.contextual.ai/api-reference/datastores/reset-datastore.md): Reset the give `Datastore`. This operation is irreversible and it deletes all the documents associated with the datastore. - [Generate](https://docs.contextual.ai/api-reference/generate/generate.md): Generate a response using Contextual's Grounded Language Model (GLM), an LLM engineered specifically to prioritize faithfulness to in-context retrievals over parametric knowledge to reduce hallucinations in Retrieval-Augmented Generation and agentic use cases. The total request cannot exceed 32,000 tokens. See our [blog post](https://contextual.ai/blog/introducing-grounded-language-model/) and [code examples](https://colab.research.google.com/github/ContextualAI/examples/blob/main/03-standalone-api/02-generate/generate.ipynb). Email [glm-feedback@contextual.ai](mailto:glm-feedback@contextual.ai) with any feedback or questions. - [LMUnit](https://docs.contextual.ai/api-reference/lmunit/lmunit.md): Given a `query`, `response`, and a `unit_test`, return the response's `score` on the unit test on a 5-point continuous scale. The total input cannot exceed 7000 tokens. See a code example in [our blog post](https://contextual.ai/news/lmunit/). Email [lmunit-feedback@contextual.ai](mailto:lmunit-feedback@contextual.ai) with any feedback or questions. >🚀 Obtain an LMUnit API key by completing [this form](https://contextual.ai/request-lmunit-api/) - [Parse File](https://docs.contextual.ai/api-reference/parse/parse-file.md): Parse a file into a structured Markdown and/or JSON. Files must be less than 300MB and 2000 pages. We use LibreOffice to convert DOC(X) and PPT(X) files to PDF, which may affect page count. See our [blog post](https://contextual.ai/blog/document-parser-for-rag) and [code examples](https://github.com/ContextualAI/examples/blob/main/03-standalone-api/04-parse/parse.ipynb). Email [parse-feedback@contextual.ai](mailto:parse-feedback@contextual.ai) with any feedback or questions. - [Parse List Jobs](https://docs.contextual.ai/api-reference/parse/parse-list-jobs.md): Get list of parse jobs, sorted from most recent to oldest. Returns all jobs from the last 30 days, or since the optional `uploaded_after` timestamp. - [Parse Result](https://docs.contextual.ai/api-reference/parse/parse-result.md): Get the results of a parse job. Parse job results are retained for up to 30 days after job creation. Fetching results for a parse job that is older than 30 days will return a 404 error. - [Parse Status](https://docs.contextual.ai/api-reference/parse/parse-status.md): Get the status of a parse job. Parse job results are retained for up to 30 days after job creation. Fetching a status for a parse job that is older than 30 days will return a 404 error. - [Rerank](https://docs.contextual.ai/api-reference/rerank/rerank.md): Rank a list of documents according to their relevance to a query primarily and your custom instructions secondarily. We evaluated the model on instructions for recency, document type, source, and metadata, and it can generalize to other instructions as well. The reranker supports multilinguality. The total request cannot exceed 400,000 tokens. The combined length of the query, instruction and any document with its metadata must not exceed 8,000 tokens. See our [blog post](https://contextual.ai/blog/introducing-instruction-following-reranker/) and [code examples](https://colab.research.google.com/github/ContextualAI/examples/blob/main/03-standalone-api/03-rerank/rerank.ipynb). Email [rerank-feedback@contextual.ai](mailto:rerank-feedback@contextual.ai) with any feedback or questions. - [Get Users](https://docs.contextual.ai/api-reference/users/get-users.md): Retrieve a list of `users`. - [Invite Users](https://docs.contextual.ai/api-reference/users/invite-users.md): Invite users to the tenant. This checks if the user is already in the tenant and if not, creates the user. We will return a list of user emails that were successfully created (including existing users). - [Remove User](https://docs.contextual.ai/api-reference/users/remove-user.md): Delete a given `user`. - [Update User](https://docs.contextual.ai/api-reference/users/update-user.md): Modify a given `User`. Fields not included in the request body will not be modified. - [Get Consent](https://docs.contextual.ai/api-reference/workspaces/get-consent.md): Retrieve the current consent status for the workspace. - [Update Consent](https://docs.contextual.ai/api-reference/workspaces/update-consent.md): Update the consent status for the workspace. - [Auto & Manual Syncing](https://docs.contextual.ai/connectors/auto-manual-syncing.md): Detailed instructions on how to set up Auto & Manual Syncing - [Box](https://docs.contextual.ai/connectors/box.md): Connect your Box documents to Contextual AI - [Confluence](https://docs.contextual.ai/connectors/confluence.md): Connect your Confluence documents to Contextual AI - [Entitlements Enforcement](https://docs.contextual.ai/connectors/entitlements-enforcement.md): Using your Connector with Entitlements Enforcement - [Global Datastores](https://docs.contextual.ai/connectors/global-datastores.md): Pre-built datastores available to all users for testing and demos - [Google Drive](https://docs.contextual.ai/connectors/google-drive.md): Connect your Google Drive documents to Contextual AI - [Local File Upload](https://docs.contextual.ai/connectors/local-file-upload.md): Upload your documents to Contextual AI - [Microsoft OneDrive](https://docs.contextual.ai/connectors/microsoft-onedrive.md): Connect your Microsoft OneDrive documents to Contextual AI - [Microsoft SharePoint](https://docs.contextual.ai/connectors/microsoft-sharepoint.md): Connect your Microsoft SharePoint documents to Contextual AI - [Overview](https://docs.contextual.ai/connectors/overview.md): Connecting your data to Contextual AI - [Material Science Agent](https://docs.contextual.ai/examples/material-science-agent.md): AI agent for materials research, properties analysis, and material selection - [Contextual AI Demos](https://docs.contextual.ai/examples/overview-demos.md): Explore real-world use cases and live demos - [Raspberry Pi Documentation Agent](https://docs.contextual.ai/examples/raspberry-pi-agent.md): AI agent for technical support and troubleshooting of Raspberry Pi hardware - [Propulsion Anomaly Investigation Agent](https://docs.contextual.ai/examples/rocket_science.md): AI agent for root cause analysis of rocket engine test anomalies - [Agent Composer Template Catalog](https://docs.contextual.ai/examples/templates-catalog.md): Explore specialized AI agent templates for various domain-specific applications - [Agent Composer Templates](https://docs.contextual.ai/examples/templates-overview.md): Explore specialized AI agent templates for various domain-specific applications - [Agent Composer Node Type Reference](https://docs.contextual.ai/how-to-guides/ac-node-reference.md): A comprehensive guide for choosing the correct node type - [Agent Composer YAML Cheat Sheet](https://docs.contextual.ai/how-to-guides/ac-yaml-cheatsheet.md): A single-page reference for Agent Composer YAML - [Agent Composer YAML Step Reference](https://docs.contextual.ai/how-to-guides/ac-yaml-reference.md): An authoritative list of all the Agent Composer step types - [Agent Composer GUI](https://docs.contextual.ai/how-to-guides/agent-composer-gui.md): Using the Agent Composer GUI to visually build workflows - [Agent Composer YAML](https://docs.contextual.ai/how-to-guides/agent-composer-yaml.md): Configuring the Agent Composer YAML file - [Connect to Our Docs via MCP](https://docs.contextual.ai/how-to-guides/connect-docs-mcp.md): Query Contextual AI documentation directly from Claude, Cursor, VS Code, and other AI tools - [Collecting & Annotating Feedback](https://docs.contextual.ai/how-to-guides/feedback.md): Collecting user feedback and annotating it to identify and triage issues. - [Generate](https://docs.contextual.ai/how-to-guides/generate.md): Contextual AI How-to Guide - [LMUnit](https://docs.contextual.ai/how-to-guides/lmunit.md): Contextual AI How-to Guide - [Contextual AI MCP Server](https://docs.contextual.ai/how-to-guides/mcp-server-user-guide.md): How-to Guide - [Parse](https://docs.contextual.ai/how-to-guides/parse.md): Contextual AI How-to Guide - [Rerank](https://docs.contextual.ai/how-to-guides/rerank.md): Contextual AI How-to Guide - [Structured Outputs](https://docs.contextual.ai/how-to-guides/structured-outputs.md): Contextual AI How-to Guide - [Databases](https://docs.contextual.ai/integration/databases.md): Connecting your private data and third-party data sources - [Frameworks](https://docs.contextual.ai/integration/frameworks.md): Integrations with leading AI/ML frameworks - [Hugging Face](https://docs.contextual.ai/integration/hugging-face.md) - [Integrations Ecosystem](https://docs.contextual.ai/integration/overview.md): Explore Contextual AI's integrations catalog - [Platforms](https://docs.contextual.ai/integration/platforms.md): Integrations with leading AI/ML and data platforms - [Tooling](https://docs.contextual.ai/integration/tooling.md): Integrations with popular tools - [Agent Composer](https://docs.contextual.ai/quickstarts/agent-composer.md): Quickstart Guide - [Generate](https://docs.contextual.ai/quickstarts/generate.md): Contextual AI Component Quickstart - [Getting Started](https://docs.contextual.ai/quickstarts/getting-started.md): Everything you need to get up and running with Contextual AI - [LMUnit](https://docs.contextual.ai/quickstarts/lmunit.md): Contextual AI Component Quickstart - [Contextual AI MCP Server](https://docs.contextual.ai/quickstarts/mcp-server.md): Integrate Contextual MCP server with compatible AI clients - [Parse](https://docs.contextual.ai/quickstarts/parse.md): Contextual AI Component Quickstart - [Platform Quickstart (API)](https://docs.contextual.ai/quickstarts/platform-api.md): Create a specialized RAG agent programmatically - [Platform Quickstart (GUI)](https://docs.contextual.ai/quickstarts/platform-gui.md): Create a specialized RAG agent in less than 5 minutes - [Prompt Builder](https://docs.contextual.ai/quickstarts/prompt-builder.md): Create agent workflows using natural language - [Rerank](https://docs.contextual.ai/quickstarts/rerank.md): Contextual AI Component Quickstart - [Why Contextual AI](https://docs.contextual.ai/quickstarts/why-contextual-ai.md): What makes Contextual AI different and when to use it - [Agentic Workflows](https://docs.contextual.ai/reference/ac-agentic-workflows.md): Build dynamic, tool-using agents with Agent Composer - [Code Execution](https://docs.contextual.ai/reference/ac-code-execution.md): Execute Python code in Agent Composer workflows - [Conditional Nodes](https://docs.contextual.ai/reference/ac-conditional-nodes.md): Branching logic in Agent Composer workflows - [Config Overrides](https://docs.contextual.ai/reference/ac-config-overrides.md): Dynamic configuration at runtime in Agent Composer - [External Integrations](https://docs.contextual.ai/reference/ac-external-integrations.md): Connect Agent Composer to external systems and services - [Input Mapping](https://docs.contextual.ai/reference/ac-input-mapping.md): Connect nodes together in Agent Composer workflows - [MCP Integration](https://docs.contextual.ai/reference/ac-mcp-integration.md): Connect to Model Context Protocol servers in Agent Composer - [Agent Composer Overview](https://docs.contextual.ai/reference/ac-overview.md): Build custom agent workflows with Agent Composer - [Subgraphs](https://docs.contextual.ai/reference/ac-subgraphs.md): Reusable workflow components in Agent Composer - [Tools Configuration](https://docs.contextual.ai/reference/ac-tools-config.md): Configure tools for agentic workflows in Agent Composer - [UI Stream Types](https://docs.contextual.ai/reference/ac-ui-stream-types.md): Control what data streams to the UI in Agent Composer - [Webhooks](https://docs.contextual.ai/reference/ac-webhooks.md): Execute HTTP webhook calls in Agent Composer workflows - [YAML Format](https://docs.contextual.ai/reference/ac-yaml-format.md): Root-level fields and node structure for Agent Composer YAML - [Settings & Parameters](https://docs.contextual.ai/reference/agent-config-overview.md): Learn how to configure and optimize Contextual AI - [Check Retrieval Need](https://docs.contextual.ai/reference/check-retrieval-need.md): `should_check_retrieval_need` - [Chunking Configurations](https://docs.contextual.ai/reference/chunking.md): Chunking modes to support different document types - [Core System Prompt](https://docs.contextual.ai/reference/core-system-prompt.md): `(system_prompt)` - [Datastores](https://docs.contextual.ai/reference/datastores.md): `(datastore_ids)` - [Disable Commentary](https://docs.contextual.ai/reference/disable-commentary.md): `(avoid_commentary)` - [Enable Filtering](https://docs.contextual.ai/reference/enable-filtering.md): `(enable_filter)` - [Enable Groundedness Score](https://docs.contextual.ai/reference/enable-groundedness-score.md): `(calculate_groundedness)` - [Enable Multi-turn](https://docs.contextual.ai/reference/enable-multi-turn.md): `enable_multi_turn` - [Enable Query Decomposition](https://docs.contextual.ai/reference/enable-query-decomposition.md): `(enable_query_decomposition)` - [Enable Query Expansion](https://docs.contextual.ai/reference/enable-query-expansion.md): `enable_query_expansion` - [Enable Reranking](https://docs.contextual.ai/reference/enable-reranking.md): `(enable_rerank)` - [FAQ](https://docs.contextual.ai/reference/faq.md): Answers to the most common questions about Contextual AI - [Filter Prompt](https://docs.contextual.ai/reference/filter-prompt.md): `(filter_prompt)` - [Frequency Penalty](https://docs.contextual.ai/reference/frequency-penalty.md): `(frequency_penalty)` - [Generation Model](https://docs.contextual.ai/reference/generation-model.md): Selecting Your Generation Model - [Glossary](https://docs.contextual.ai/reference/glossary.md): Essential definitions for understanding and using Contextual AI - [Lexical Search Weight](https://docs.contextual.ai/reference/lexical-search-weight.md): `(lexical_alpha)` - [Max New Tokens](https://docs.contextual.ai/reference/max-new-tokens.md): `(max_new_tokens)` - [No Retrieval System Prompt](https://docs.contextual.ai/reference/no-retrieval-system-prompt.md): `(no_retrieval_system_prompt)` - [Number of Reranked Chunks](https://docs.contextual.ai/reference/number-of-reranked-chunks.md): `(top_k_reranked_chunks)` - [Number of Retrieved Chunks](https://docs.contextual.ai/reference/number-of-retrieved-chunks.md): `(top_k_retrieved_chunks)` - [Random Seed](https://docs.contextual.ai/reference/random-seed.md): `(seed)` - [Rerank Instructions](https://docs.contextual.ai/reference/rerank-instructions.md): `(rerank_instructions)` - [Reranker Score Filter](https://docs.contextual.ai/reference/reranker-score-filter.md): `(reranker_score_filter_threshold)` - [Semantic Search Weight](https://docs.contextual.ai/reference/semantic-search-weight.md): `(semantic_alpha)` - [Suggested Queries](https://docs.contextual.ai/reference/suggested-queries.md): `(suggested_queries)` - [Temperature](https://docs.contextual.ai/reference/temperature.md): `(temperature)` - [Top P](https://docs.contextual.ai/reference/top-p.md): `(top_p)` - [2025 Release Updates](https://docs.contextual.ai/release-notes/latest.md): Product Highlights & Release Information - [Node.js SDK](https://docs.contextual.ai/sdks/node.md) - [Python SDK](https://docs.contextual.ai/sdks/python.md)