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: 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...).