Anthropic Prompt Generation API

APIs for generating well-written prompts for specified tasks

OpenAPI Specification

anthropic-prompt-generation-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Anthropic Admin Agents Prompt Generation API
  description: Manage administrative functions for Anthropic organizations, workspaces, users, invites, and API keys.
  version: 1.0.0
  contact:
    name: Anthropic
    url: https://www.anthropic.com
    email: support@anthropic.com
  license:
    name: Anthropic API License
    url: https://www.anthropic.com/terms
servers:
- url: https://api.anthropic.com/v1
  description: Production Server
security:
- AdminApiKeyAuth: []
tags:
- name: Prompt Generation
  description: APIs for generating well-written prompts for specified tasks
paths:
  /v1/experimental/generate_prompt:
    post:
      summary: Anthropic Generate A Prompt
      description: 'Generate a well-written prompt for a specified task. This API creates

        prompts that can be used directly with the Messages API.


        **Requirements:**

        - Must have joined the closed research preview for prompt tools APIs

        - Must use the API directly (not available in SDK)

        - Must include the beta header `prompt-tools-2025-04-02`

        '
      operationId: generatePrompt
      tags:
      - Prompt Generation
      x-microcks-operation:
        dispatcher: FALLBACK
        dispatcherRules: ''
        delay: 100
      parameters:
      - $ref: '#/components/parameters/AnthropicBetaHeader'
      - $ref: '#/components/parameters/ApiKeyHeader'
      - $ref: '#/components/parameters/ContentTypeHeader'
      - $ref: '#/components/parameters/BrowserAccessHeader'
      - $ref: '#/components/parameters/AnthropicVersionHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratePromptRequest'
            examples:
              ChefExample:
                $ref: '#/components/examples/GeneratePromptRequestChefExample'
              DefaultExample:
                $ref: '#/components/examples/GeneratePromptRequestDefaultExample'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneratePromptResponse'
              examples:
                ChefResponse:
                  $ref: '#/components/examples/GeneratePromptResponseChefExample'
        '400':
          description: Bad Request - Invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                BadRequestExample:
                  $ref: '#/components/examples/ErrorBadRequestExample'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                UnauthorizedExample:
                  $ref: '#/components/examples/ErrorUnauthorizedExample'
        '403':
          description: Forbidden - Access denied or not in closed research preview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                ForbiddenExample:
                  $ref: '#/components/examples/ErrorForbiddenExample'
        '429':
          description: Too Many Requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                RateLimitExample:
                  $ref: '#/components/examples/ErrorRateLimitExample'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                ServerErrorExample:
                  $ref: '#/components/examples/ErrorServerExample'
components:
  schemas:
    TextContentBlock:
      type: object
      required:
      - type
      - text
      properties:
        type:
          type: string
          enum:
          - text
          description: The type of content block
        text:
          type: string
          description: The text content
    GeneratePromptRequest:
      type: object
      required:
      - task
      properties:
        task:
          type: string
          description: 'Description of the prompt''s purpose.

            The `task` parameter tells Claude what the prompt should do

            or what kind of role or functionality you want to create.

            This helps guide the prompt generation process toward your

            intended use case.

            '
        target_model:
          type: string
          nullable: true
          default: null
          description: 'The model this prompt will be used for. This optional

            parameter helps us understand which models our prompt tools

            are being used with, but it doesn''t currently affect

            functionality.

            '
          minLength: 1
          maxLength: 256
    UsageInfo:
      type: object
      description: Usage information
      required:
      - input_tokens
      - output_tokens
      properties:
        input_tokens:
          type: integer
          description: Number of input tokens used
          minimum: 0
        output_tokens:
          type: integer
          description: Number of output tokens generated
          minimum: 0
    ErrorResponse:
      type: object
      required:
      - type
      - message
      properties:
        type:
          type: string
          description: The type of error
        message:
          type: string
          description: A human-readable error message
    PromptMessage:
      type: object
      required:
      - role
      - content
      properties:
        role:
          type: string
          enum:
          - user
          - assistant
          description: The role of the message sender
        content:
          type: array
          description: The content of the message
          items:
            $ref: '#/components/schemas/TextContentBlock'
    GeneratePromptResponse:
      type: object
      required:
      - messages
      - system
      - usage
      properties:
        messages:
          type: array
          description: 'The response contains a list of message objects in the

            same format used by the Messages API. Typically includes a

            user message with the complete generated prompt text, and

            may include an assistant message with a prefill to guide

            the model''s initial response.

            '
          items:
            $ref: '#/components/schemas/PromptMessage'
        system:
          type: string
          default: ''
          description: 'Currently, the `system` field is always returned as an

            empty string (""). In future iterations, this field may

            contain generated system prompts.

            '
        usage:
          $ref: '#/components/schemas/UsageInfo'
  examples:
    GeneratePromptResponseChefExample:
      summary: Chef prompt response
      value:
        messages:
        - role: user
          content:
          - type: text
            text: You are a chef for a meal prep planning service. Your role is to help users plan their weekly meals, create shopping lists, and provide cooking instructions. Always consider dietary restrictions and preferences when making suggestions.
        - role: assistant
          content:
          - type: text
            text: <recipe_planning>
        system: ''
        usage:
          input_tokens: 25
          output_tokens: 150
    ErrorServerExample:
      summary: Server error
      value:
        type: api_error
        message: An internal server error occurred
    GeneratePromptRequestChefExample:
      summary: Chef for meal prep service
      value:
        task: a chef for a meal prep planning service
        target_model: claude-3-7-sonnet-20250219
    ErrorRateLimitExample:
      summary: Rate limit error
      value:
        type: rate_limit_error
        message: Rate limit exceeded. Please retry after some time.
    GeneratePromptRequestDefaultExample:
      summary: Basic task only
      value:
        task: a helpful writing assistant for creative fiction
    ErrorBadRequestExample:
      summary: Bad request error
      value:
        type: invalid_request_error
        message: Invalid request format
    ErrorUnauthorizedExample:
      summary: Unauthorized error
      value:
        type: authentication_error
        message: Invalid or missing API key
    ErrorForbiddenExample:
      summary: Forbidden error
      value:
        type: permission_error
        message: Access denied or not in closed research preview
  parameters:
    BrowserAccessHeader:
      name: anthropic-dangerous-direct-browser-access
      in: header
      required: false
      description: Enable CORS.
      schema:
        type: string
        default: 'true'
    AnthropicVersionHeader:
      name: anthropic-version
      in: header
      required: true
      description: Which version of the Anthropic API to use.
      schema:
        type: string
        default: '2023-06-01'
    ContentTypeHeader:
      name: Content-Type
      in: header
      required: true
      description: The content type.
      schema:
        type: string
        default: application/json
    AnthropicBetaHeader:
      name: anthropic-beta
      in: header
      description: 'Optional header to specify the beta version(s) you want to use.

        To use multiple betas, use a comma separated list like `beta1,beta2`

        or specify the header multiple times for each beta.

        '
      required: false
      schema:
        type: array
        items:
          type: string
        example:
        - prompt-tools-2025-04-02
      style: simple
      explode: false
    ApiKeyHeader:
      name: x-api-key
      in: header
      required: true
      description: A valid API token.
      schema:
        type: string
  securitySchemes:
    AdminApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Admin API key for authentication (starts with sk-ant-admin...).