Agenta Applications API

Create and manage LLM applications and their variants.

Operations 7

POST /simple/applications/ Create a new application. #
POST /simple/applications/query List and filter applications. #
GET /simple/applications/{application_id} Fetch a single application by id. #
PUT /simple/applications/{application_id} Edit an application by id. #
POST /applications/variants/query List and filter application variants. #
GET /applications/variants/{application_variant_id} Fetch a single application variant by id. #
POST /applications/revisions/commit Commit a new revision of an application variant. #

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/agenta-applications-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

agenta-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agenta Applications API
  description: Agenta is an open-source LLMOps platform for prompt management, LLM evaluation, and LLM observability. This specification documents the public cloud REST API surface used to manage applications and variants, fetch and deploy versioned prompt configurations, run evaluations and configure evaluators, manage testsets, and ingest and query observability traces. All endpoints are authenticated with an Agenta API key passed in the Authorization header. Agenta is MIT licensed and may also be self-hosted.
  termsOfService: https://agenta.ai/terms
  contact:
    name: Agenta Support
    url: https://agenta.ai/
    email: team@agenta.ai
  license:
    name: MIT
    url: https://github.com/Agenta-AI/agenta/blob/main/LICENSE
  version: '1.0'
servers:
- url: https://cloud.agenta.ai/api
  description: Agenta Cloud (US)
- url: https://eu.cloud.agenta.ai/api
  description: Agenta Cloud (EU)
security:
- ApiKeyAuth: []
tags:
- name: Applications
  description: Create and manage LLM applications and their variants.
paths:
  /simple/applications/:
    post:
      operationId: createSimpleApplication
      tags:
      - Applications
      summary: Create a new application.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleApplicationCreateRequest'
      responses:
        '200':
          description: The created application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleApplicationResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /simple/applications/query:
    post:
      operationId: querySimpleApplications
      tags:
      - Applications
      summary: List and filter applications.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationQueryRequest'
      responses:
        '200':
          description: A list of applications.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SimpleApplicationResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /simple/applications/{application_id}:
    get:
      operationId: fetchSimpleApplication
      tags:
      - Applications
      summary: Fetch a single application by id.
      parameters:
      - $ref: '#/components/parameters/ApplicationId'
      responses:
        '200':
          description: The requested application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleApplicationResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: editSimpleApplication
      tags:
      - Applications
      summary: Edit an application by id.
      parameters:
      - $ref: '#/components/parameters/ApplicationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleApplicationEditRequest'
      responses:
        '200':
          description: The updated application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleApplicationResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /applications/variants/query:
    post:
      operationId: queryApplicationVariants
      tags:
      - Applications
      summary: List and filter application variants.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariantQueryRequest'
      responses:
        '200':
          description: A list of application variants.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationVariant'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /applications/variants/{application_variant_id}:
    get:
      operationId: fetchApplicationVariant
      tags:
      - Applications
      summary: Fetch a single application variant by id.
      parameters:
      - name: application_variant_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The requested variant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationVariant'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /applications/revisions/commit:
    post:
      operationId: commitApplicationRevision
      tags:
      - Applications
      summary: Commit a new revision of an application variant.
      description: Commits the supplied prompt and parameter configuration as a new, immutable revision of a variant. This is how new prompt versions are published in Agenta's prompt management workflow.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommitRevisionRequest'
      responses:
        '200':
          description: The committed revision.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Revision'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        detail:
          oneOf:
          - type: string
          - type: object
    SimpleApplicationCreateRequest:
      type: object
      required:
      - app
      properties:
        app:
          type: object
          required:
          - slug
          properties:
            slug:
              type: string
              description: URL-friendly unique slug for the application.
            name:
              type: string
            description:
              type: string
            flags:
              type: object
              additionalProperties: true
    Windowing:
      type: object
      description: Cursor / time-window pagination controls.
      properties:
        next:
          type: string
        limit:
          type: integer
          default: 100
        oldest:
          type: string
          format: date-time
        newest:
          type: string
          format: date-time
        order:
          type: string
          enum:
          - ascending
          - descending
    VariantQueryRequest:
      type: object
      properties:
        variant:
          type: object
          properties:
            application_id:
              type: string
              format: uuid
        include_archived:
          type: boolean
          default: false
        windowing:
          $ref: '#/components/schemas/Windowing'
    Revision:
      type: object
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
        version:
          type: string
        variant_id:
          type: string
          format: uuid
        message:
          type: string
        data:
          $ref: '#/components/schemas/PromptConfig'
        lifecycle:
          $ref: '#/components/schemas/Lifecycle'
    CommitRevisionRequest:
      type: object
      required:
      - revision
      properties:
        revision:
          type: object
          properties:
            slug:
              type: string
            variant_id:
              type: string
              format: uuid
            message:
              type: string
              description: Commit message describing the change.
            data:
              $ref: '#/components/schemas/PromptConfig'
    ApplicationVariant:
      type: object
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
        name:
          type: string
        application_id:
          type: string
          format: uuid
        lifecycle:
          $ref: '#/components/schemas/Lifecycle'
    SimpleApplicationEditRequest:
      type: object
      properties:
        app:
          type: object
          properties:
            name:
              type: string
            description:
              type: string
    ApplicationQueryRequest:
      type: object
      properties:
        application:
          type: object
          properties:
            flags:
              type: object
              additionalProperties: true
        include_archived:
          type: boolean
          default: false
        windowing:
          $ref: '#/components/schemas/Windowing'
    SimpleApplicationResponse:
      type: object
      properties:
        count:
          type: integer
        application:
          $ref: '#/components/schemas/Application'
    PromptConfig:
      type: object
      description: A prompt template plus model and inference parameters.
      properties:
        prompt:
          type: object
          properties:
            messages:
              type: array
              items:
                type: object
                properties:
                  role:
                    type: string
                    enum:
                    - system
                    - user
                    - assistant
                  content:
                    type: string
            llm_config:
              type: object
              properties:
                model:
                  type: string
                  example: gpt-4o
                temperature:
                  type: number
                  format: float
                max_tokens:
                  type: integer
                top_p:
                  type: number
                  format: float
            template_format:
              type: string
              enum:
              - fstring
              - jinja2
              - curly
              default: fstring
            input_keys:
              type: array
              items:
                type: string
    Lifecycle:
      type: object
      description: Audit metadata attached to most Agenta resources.
      properties:
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by_id:
          type: string
          format: uuid
        updated_by_id:
          type: string
          format: uuid
    Application:
      type: object
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
        name:
          type: string
        description:
          type: string
        flags:
          type: object
          additionalProperties: true
        lifecycle:
          $ref: '#/components/schemas/Lifecycle'
  parameters:
    ApplicationId:
      name: application_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: 'Agenta API key sent in the Authorization header. Generate keys from the Agenta web app under Settings > API keys. The value is passed as `Authorization: ApiKey <key>` (Bearer-style header credential).'