LaunchDarkly Agent Control API

The AgentControl API allows you to create, retrieve, and edit AgentControl configs, config variations, and AI model configurations. **This product name has changed, but the API has not.** AgentControl was previously called AI Configs. Resources previously called "AI Configs" are now referred to as "AgentControl configs" or "configs." This is not a breaking change to the API. Existing AI Configs API endpoints, paths, request/response bodies, and operation IDs are unchanged. Integrations that use those resources still work and do not need modification. An AgentControl config is a resource in LaunchDarkly that you can use to customize, test, and roll out new large language models (LLMs) within your generative AI applications. Within each config, you define one or more variations, each of which includes a model configuration and one or more messages. The model configuration can be a standard one from the list provided by LaunchDarkly, or you can define your own custom AI model configuration. To learn more, read [AgentControl](https://launchdarkly.com/docs/home/agentcontrol).

Operations 60

GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting Show an AI Config's targeting #
PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting Update AI Config targeting #
GET /api/v2/projects/{projectKey}/ai-configs List AI Configs #
POST /api/v2/projects/{projectKey}/ai-configs Create new AI Config #
DELETE /api/v2/projects/{projectKey}/ai-configs/{configKey} Delete AI Config #
GET /api/v2/projects/{projectKey}/ai-configs/{configKey} Get AI Config #
PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey} Update AI Config #
POST /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations Create AI Config variation #
DELETE /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} Delete AI Config variation #
GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} Get AI Config variation #
PATCH /api/v2/projects/{projectKey}/ai-configs/{configKey}/variations/{variationKey} Update AI Config variation #
GET /api/v2/projects/{projectKey}/ai-configs/quick-stats Get AI Config quick stats #
GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics Get AI Config metrics #
GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation Get AI Config metrics by variation #
DELETE /api/v2/projects/{projectKey}/ai-configs/model-configs/restricted Remove AI models from the restricted list #
POST /api/v2/projects/{projectKey}/ai-configs/model-configs/restricted Add AI models to the restricted list #
GET /api/v2/projects/{projectKey}/ai-configs/model-configs List AI model configs #
POST /api/v2/projects/{projectKey}/ai-configs/model-configs Create an AI model config #
DELETE /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} Delete an AI model config #
GET /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} Get AI model config #
PATCH /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey} Update an AI model config #
GET /api/v2/projects/{projectKey}/ai-configs/model-configs/{modelConfigKey}/versions List AI model config versions #
GET /api/v2/projects/{projectKey}/ai-tools List AI tools #
POST /api/v2/projects/{projectKey}/ai-tools Create an AI tool #
GET /api/v2/projects/{projectKey}/ai-tools/{toolKey}/versions List AI tool versions #
GET /api/v2/projects/{projectKey}/ai-tools/{toolKey}/references List AI tool references #
DELETE /api/v2/projects/{projectKey}/ai-tools/{toolKey} Delete AI tool #
GET /api/v2/projects/{projectKey}/ai-tools/{toolKey} Get AI tool #
PATCH /api/v2/projects/{projectKey}/ai-tools/{toolKey} Update AI tool #
GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets List prompt snippets #
POST /api/v2/projects/{projectKey}/ai-configs/prompt-snippets Create a prompt snippet #
DELETE /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} Delete a prompt snippet #
GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} Get a prompt snippet #
PATCH /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey} Update a prompt snippet #
GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/references List prompt snippet references #
GET /api/v2/projects/{projectKey}/ai-configs/prompt-snippets/{snippetKey}/versions List prompt snippet versions #
GET /api/v2/projects/{projectKey}/ai-configs/skills List agent skills #
POST /api/v2/projects/{projectKey}/ai-configs/skills Create an agent skill #
DELETE /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} Delete an agent skill #
GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} Get an agent skill #
PATCH /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey} Update an agent skill #
GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/references List agent skill references #
GET /api/v2/projects/{projectKey}/ai-configs/skills/{skillKey}/versions List agent skill versions #
GET /api/v2/projects/{projectKey}/agent-graphs List agent graphs #
POST /api/v2/projects/{projectKey}/agent-graphs Create new agent graph #
DELETE /api/v2/projects/{projectKey}/agent-graphs/{graphKey} Delete agent graph #
GET /api/v2/projects/{projectKey}/agent-graphs/{graphKey} Get agent graph #
PATCH /api/v2/projects/{projectKey}/agent-graphs/{graphKey} Update agent graph #
GET /api/v2/projects/{projectKey}/agent-optimizations List agent optimizations #
POST /api/v2/projects/{projectKey}/agent-optimizations Create agent optimization #
DELETE /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} Delete an agent optimization #
GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} Get an agent optimization #
PATCH /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey} Update an agent optimization #
GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results List latest agent optimization result per run #
POST /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results Create agent optimization result #
GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/all-results List all agent optimization results across versions #
GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs List agent optimization runs #
DELETE /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId} Delete an agent optimization run #
GET /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/runs/{runId}/results List agent optimization results for a run #
PATCH /api/v2/projects/{projectKey}/agent-optimizations/{optimizationKey}/results/{resultId} Update an agent optimization result #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/launchdarkly:launchdarkly-agentcontrol-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

launchdarkly-agentcontrol-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LaunchDarkly REST Agent Control API
  description: 'This documentation describes LaunchDarkly''s REST API. To access the complete OpenAPI spec directly, use Get OpenAPI spec. To learn how to use LaunchDarkly using the user interface (UI) instead, read our product documentation. ## Authentication


    LaunchDarkly''s REST API uses the HTTPS protocol with a minimum TLS version of 1.2. All REST API resources are authenticated with either personal or service access tokens, or session cookies. Other authentication mechanisms are not supported. You can manage personal access tokens on your **Authorization** page in the LaunchDarkly UI. LaunchDarkly also has SDK keys, mobile keys, and client-side IDs that are used by our server-side SDKs, mobile SDKs, and JavaScript-based SDKs, respectively. **These keys cannot be used to access our REST API**. These keys are environment-specific, and can only perform read-only operations such as fetching feature flag settings. | Auth mechanism | Allowed resources | Use cases |

    | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------- |

    | Personal or service access tokens | Can be customized on a per-token basis | Building scripts, custom integrations, data export. |

    | SDK keys | Can only access read-only resources specific to server-side SDKs. Restricted to a single environment. | Server-side SDKs |

    | Mobile keys | Can only access read-only resources specific to mobile SDKs, and only for flags marked available to mobile keys. Restricted to a single environment. | Mobile SDKs |

    | Client-side ID | Can only access read-only resources specific to JavaScript-based client-side SDKs, and only for flags marked available to client-side. Restricted to a single environment. | Client-side JavaScript |


    > #### Keep your access tokens and SDK keys private

    >

    > Access tokens should _never_ be exposed in untrusted contexts. Never put an access token in client-side JavaScript, or embed it in a mobile application. LaunchDarkly has special mobile keys that you can embed in mobile apps. If you accidentally expose an access token or SDK key, you can reset it from your **Authorization** page. >

    > The client-side ID is safe to embed in untrusted contexts. It''s designed for use in client-side JavaScript. ### Authentication using request header


    The preferred way to authenticate with the API is by adding an `Authorization` header containing your access token to your requests. The value of the `Authorization` header must be your access token. Manage personal access tokens from the **Authorization** page. ### Authentication using session cookie


    For testing purposes, you can make API calls directly from your web browser. If you are logged in to the LaunchDarkly application, the API will use your existing session to authenticate calls. Depending on the permissions granted as part of your role, you may not have permission to perform some API calls. You will receive a `401` response code in that case. > ### Modifying the Origin header causes an error

    >

    > LaunchDarkly validates that the Origin header for any API request authenticated by a session cookie matches the expected Origin header. The expected Origin header is `https://app.launchdarkly.com`. >

    > If the Origin header does not match what''s expected, LaunchDarkly returns an error. This error can prevent the LaunchDarkly app from working correctly. >

    > Any browser extension that intentionally changes the Origin header can cause this problem. For example, Cross-Origin Resource Sharing (CORS) extensions used during development can modify the Origin header and cause the app to fail. >

    > To prevent this error, do not modify your Origin header. >

    > LaunchDarkly does not require origin matching when authenticating with an access token, so this issue does not affect normal API usage.'
  contact:
    name: LaunchDarkly Technical Support Team
    url: https://support.launchdarkly.com
    email: support@launchdarkly.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2.0'
servers:
- url: https://app.launchdarkly.com
  description: ' Default'
- url: https://app.launchdarkly.us
  description: ' Federal'
security:
- ApiKey:
  - read
  - write
tags:


# --- truncated at 32 KB (314 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/launchdarkly/refs/heads/main/openapi/launchdarkly-agentcontrol-api-openapi.yml