Skip to content

Optimizations API

Run and manage prompt optimizations.

Trigger Optimization

http
POST /api/v1/optimizations

Request Body

json
{
  "promptId": "prompt_123",
  "mode": "exploratory",
  "variantCount": 3,
  "intent": {
    "targetImprovements": ["clarity", "task completion"],
    "hypothesis": "Adding examples will improve understanding"
  }
}

Required Fields

FieldTypeDescription
promptIdstringPrompt to optimize

Optional Fields

FieldTypeDescription
modestringexploratory (fast) or validation (thorough)
variantCountnumberNumber of variants (1-5, default: 3)
intentobjectOptimization guidance
personaIdsstring[]Specific personas to test

Response

json
{
  "id": "opt_789",
  "promptId": "prompt_123",
  "status": "running",
  "mode": "exploratory",
  "variantCount": 3,
  "createdAt": "2025-01-20T14:30:00Z"
}

Status: 201 Created

List Optimizations

http
GET /api/v1/optimizations

Query Parameters

ParameterTypeDescription
promptIdstringFilter by prompt
statusstringFilter by status
limitnumberMax results (default: 10)

Response

json
{
  "data": [
    {
      "id": "opt_789",
      "promptId": "prompt_123",
      "status": "completed",
      "mode": "exploratory",
      "createdAt": "2025-01-20T14:30:00Z",
      "completedAt": "2025-01-20T14:45:00Z"
    }
  ]
}

Get Optimization

http
GET /api/v1/optimizations/:id

Response

json
{
  "id": "opt_789",
  "promptId": "prompt_123",
  "status": "completed",
  "mode": "exploratory",
  "variantCount": 3,
  "results": {
    "winnerSelected": true,
    "winningVariantId": "var_456",
    "lift": 23.5,
    "confidence": 0.97
  },
  "createdAt": "2025-01-20T14:30:00Z",
  "completedAt": "2025-01-20T14:45:00Z"
}

Status Values

StatusDescription
queuedWaiting to start
runningIn progress
completedFinished with results
failedError occurred
stoppedManually stopped

Get Variant Details

http
GET /api/v1/optimizations/:id/variants

Response

json
{
  "data": [
    {
      "id": "var_control",
      "name": "Control (Original)",
      "isOriginal": true,
      "content": "Original prompt content...",
      "metrics": {
        "taskCompletion": 72,
        "sentiment": 68,
        "quality": 75
      }
    },
    {
      "id": "var_456",
      "name": "Variant B",
      "isOriginal": false,
      "content": "Improved prompt content...",
      "metrics": {
        "taskCompletion": 89,
        "sentiment": 85,
        "quality": 91
      },
      "lift": 23.5,
      "isWinner": true
    }
  ]
}

Apply Variant

http
POST /api/v1/optimizations/:id/apply

Apply the winning variant (or a specific variant) to the prompt.

Request Body (Optional)

json
{
  "variantId": "var_456"
}

If variantId is not provided, applies the winning variant.

Response

json
{
  "success": true,
  "promptId": "prompt_123",
  "appliedVariantId": "var_456",
  "message": "Variant applied successfully"
}

Stop Optimization

http
POST /api/v1/optimizations/:id/stop

Request Body (Optional)

json
{
  "reason": "Need to modify base prompt"
}

Response

json
{
  "success": true,
  "status": "stopped"
}

Error Responses

Optimization Not Found

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Optimization not found"
  }
}

Cannot Apply

json
{
  "error": {
    "code": "INVALID_STATE",
    "message": "Cannot apply variant: optimization not complete"
  }
}