Update Prompt
Update an existing prompt
Updates an existing prompt in your workspace. Only include the fields you want to change.
Base URL
https://api.ajan.io/prompts/v1/{promptId}Required Scopes
This endpoint requires the PROMPT_API scope.
Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
promptId | string | Yes | UUID of the prompt to update. |
Request Body
| Parameter | Type | Description |
|---|---|---|
title | string | Prompt title. Minimum: 2 characters. Maximum: 100 characters. |
prompt | string | Prompt content. Minimum: 2 characters. Maximum: 120000 characters. |
promptFolderId | string | null | Folder UUID to assign, or null to remove the folder. Cannot be set while the prompt is shared with the workspace. |
sharedWithWorkspace | boolean | Share the prompt with the workspace. Requires sharePrompts. Cannot be true while the prompt is in a folder. |
Example
javascript
const axios = require("axios");
async function updatePrompt(promptId) {
const response = await axios.patch(
`https://api.ajan.io/prompts/v1/${promptId}`,
{
title: "Support Reply",
prompt: "Write a concise customer reply. Include the next best action and the ticket ID."
},
{
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
}
);
console.log("Updated prompt:", response.data.prompt.updatedAt);
}
updatePrompt("550e8400-e29b-41d4-a716-446655440000");Response Format
Success Response (200 OK)
typescript
{
prompt: {
id: string;
title: string;
prompt: string;
createdBy: string | null;
promptFolderId: string | null;
sharedWithWorkspace: boolean;
createdAt: string | null;
updatedAt: string | null;
};
}Error Handling
| Status Code | Description |
|---|---|
| 400 | Invalid request body, missing update fields, or workspace sharing combined with a folder assignment |
| 401 | Invalid or missing API key |
| 403 | Missing PROMPT_API scope, write access, or share permission |
| 404 | Prompt or prompt folder not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
OpenAPI
openapi: 3.0.0
info:
title: ajan API
version: 3.0.0
servers:
- url: https://api.ajan.io
description: Production
security:
- bearerAuth: []
paths:
/prompts/v1/{promptId}:
patch:
tags:
- Prompts
summary: Update a prompt
description: Updates an existing prompt in your workspace.
operationId: updatePrompt
parameters:
- $ref: '#/components/parameters/PromptId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePromptRequest'
responses:
'200':
description: Prompt updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PromptResponse'
'400':
description: Invalid request body
'401':
description: Invalid or missing API key
'403':
description: Missing required scope, write access, or share permission
'404':
description: Prompt or prompt folder not found
'429':
description: Rate limit exceeded
'500':
description: Internal server error
components:
parameters:
PromptId:
name: promptId
in: path
required: true
description: UUID of the prompt.
schema:
type: string
format: uuid
schemas:
UpdatePromptRequest:
type: object
minProperties: 1
additionalProperties: false
properties:
title:
type: string
minLength: 2
maxLength: 100
description: Prompt title.
prompt:
type: string
minLength: 2
maxLength: 120000
description: Prompt content.
promptFolderId:
type: string
format: uuid
nullable: true
description: Folder UUID to assign, or null to remove the folder.
sharedWithWorkspace:
type: boolean
description: Share the prompt with the workspace.
PromptResponse:
type: object
required:
- prompt
properties:
prompt:
$ref: '#/components/schemas/Prompt'
Prompt:
type: object
required:
- id
- title
- prompt
- sharedWithWorkspace
properties:
id:
type: string
format: uuid
description: Unique identifier for the prompt.
title:
type: string
minLength: 2
maxLength: 100
description: Prompt title.
prompt:
type: string
minLength: 2
maxLength: 120000
description: Prompt content.
createdBy:
type: string
format: uuid
nullable: true
description: User ID of the prompt creator.
promptFolderId:
type: string
format: uuid
nullable: true
description: Folder ID the prompt is assigned to.
sharedWithWorkspace:
type: boolean
description: Whether the prompt is shared with the workspace.
createdAt:
type: string
format: date-time
nullable: true
description: ISO 8601 timestamp for prompt creation.
updatedAt:
type: string
format: date-time
nullable: true
description: ISO 8601 timestamp for the latest prompt update.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: API key as Bearer token. Format "Bearer YOUR_API_KEY"