Endpoints
API endpoint reference
Discovery
http
GET /.well-known/plpReturns server capabilities and PLP version. Every PLP server must implement this.
Prompt CRUD
http
GET /prompts # List prompts (paginated)
GET /prompts/{prompt_id} # Get latest version
GET /prompts/{prompt_id}/{version} # Get specific version
PUT /prompts/{prompt_id} # Create or update (upsert)
DELETE /prompts/{prompt_id} # Delete prompt + all versions
POST /prompts/{prompt_id}/publish # Publish a versionPUT Example
Create or update is idempotent. Returns 201 for new prompts, 200 for updates:
http
PUT /prompts/welcome-email
Content-Type: application/json
{
"content": "Hello {{name}}, welcome!",
"meta": {
"description": "Welcome email template",
"model_config": { "temperature": 0.7 }
}
}Deploy & Eval
http
POST /prompts/{prompt_id}/deploy # Deploy to environment
POST /prompts/{prompt_id}/eval # Run eval suite
PUT /prompts/{prompt_id}/eval/datasets/{dataset_id} # Save dataset
GET /prompts/{prompt_id}/eval/datasets/{dataset_id} # Get datasetContext Store
http
GET /context-store # List assets
POST /context-store # Upload asset (multipart)
GET /context-store/{asset_id} # Get asset content
DELETE /context-store/{asset_id} # Delete asset
GET /context-store/usage # Storage usage statsPrompt Context Mappings
http
GET /prompts/{prompt_id}/context # List mappings
POST /prompts/{prompt_id}/context # Add/update mapping
DELETE /prompts/{prompt_id}/context/{context_name} # Remove mapping
POST /prompts/{prompt_id}/context/_resolve # Resolve to content