API Users

Pull your team's Agent Contexts into any product surface.

Use ProxVanta as the prompt source of truth for assistants, internal tools, jobs, and workflow automation.

Why developers care

No prompt strings in code

Fetch one shared Agent Context instead of hardcoding prompts into product routes, workers, and tools.

One source of truth

Use the same context across assistants, internal tools, jobs, and product workflows.

Update without deploys

Change the Agent Context in ProxVanta and let clients pick up the latest version.

Public to private path

Start from public contexts, then use private org-specific versions through the same API shape.

Documentation

List Agent Contexts

Use limit and cursor for simple pagination. Start here when you want to see what your team has available.

# default fields to include: context curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts?limit=10" # specific fields to include (default value: 'context') curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts?limit=10&include=context,structured"

Get One Agent Context

Fetch one Agent Context directly. Use the Agent Context template key as the id, for example `designer`.

# current version curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts/{agentContextId}" # specific historical version curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts/{agentContextId}?version=2"

Get One Agent Context Version

Use this when you want to pin your code to a specific historical version instead of the current one.

# version query param curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts/{agentContextId}?version=2" # version suffix curl -sS \ -H "Authorization: Bearer $PROXVANTA_API_KEY" \ "https://api.proxvanta.com/v1/agent-contexts/{agentContextId}@2"

Request and Response Types

Use these language definitions as the query parameter and response shape reference. These GET endpoints do not accept JSON request bodies.

Did you know?

  • `context` is the compiled reusable Agent Context prompt.
  • `structuredData` is the full Agent Context object for UI, debugging, analytics, or custom client behavior.
type AgentContextStructuredData = { id: string; createdAt: string; updatedAt?: string; createdByUserId: string; role?: string; version?: number; name: string; slug: string; shortName: string; teammateLabel: string; description: string; focus: string[]; whenToUse: string[]; suggestedPrompts: string[]; routingHints: string[]; personality: string; operatingStyle: string; scope?: string; decisionRules?: string[]; instructions: string; privateInstructions?: string; outputFormat?: "markdown" | "structured" | "conversational"; structuredOutputExample?: string; worksWellWith?: string[]; guardrails?: string[]; longPromptThreshold?: 1500 | 2500 | 4000; tools?: string[]; skills?: string[]; categories?: string[]; tags?: string[]; visibility?: "private" | "team" | "public"; publishedHandle?: string; sourceHandle?: string; sourceOrganizationSlug?: string; sourceIsPublished?: boolean; syncEnabled?: boolean; usageCount?: number; lastUsedAt?: string; promptTokenEstimateTotal?: number; lastPromptTokenEstimate?: number; enabled: boolean; }; type AgentContextResponse = { context: string; structuredData: AgentContextStructuredData; usage?: { usageEventId: string; source: "api"; operation: "get_agent_context"; promptTokenEstimate?: number; }; }; type ListAgentContextsResponse = { data: AgentContextResponse[]; nextCursor?: string; totalCount: number; }; type ListAgentContextsQueryParams = { cursor?: string; limit?: number; include?: "context" | "structured" | "context,structured"; }; type GetAgentContextPathParams = { agentContextId: string; }; type GetAgentContextQueryParams = { version?: number; }; type GetAgentContextResponse = AgentContextResponse;

Example Responses

Use these JSON payloads as concrete examples of the API responses.

List Agent Contexts

{ "data": [ { "context": "## Role\n\nYou are a designer.\n\nReviews flows, UX details, and design direction." } ], "nextCursor": "10", "totalCount": 24 }

Get Agent Context

{ "context": "## Role\n\nYou are a designer.\n\nReviews flows, UX details, and design direction.\n\n## Scope\n\nFocus on UX quality, product flows, missing states, and interaction gaps.", "structuredData": { "id": "organization-agent-context#org_123#designer", "createdByUserId": "user_123", "role": "designer", "version": 3, "name": "Designer", "slug": "designer", "shortName": "designer", "teammateLabel": "designer", "description": "Reviews flows, UX details, and design direction.", "focus": [ "UX review", "interface polish" ], "whenToUse": [ "When you want a fast critique of a flow or screen", "When you need design tradeoffs explained clearly" ], "suggestedPrompts": [ "Review this onboarding flow and call out friction." ], "routingHints": [ "design", "ux", "flow", "wireframe" ], "personality": "Direct, sharp, and product-minded.", "operatingStyle": "Give feedback in priority order with concrete fixes.", "scope": "Focus on UX quality, product flows, missing states, and interaction gaps.", "decisionRules": [ "Start with the most important friction or confusion.", "Call out missing states before visual polish.", "Be specific about the screen, component, or step." ], "instructions": "Act as the organization's design collaborator.", "privateInstructions": "Prefer the company's current design system.", "outputFormat": "markdown", "worksWellWith": [ "figma", "codex" ], "guardrails": [ "warn-before-long-prompt" ], "longPromptThreshold": 2500, "tools": [ "figma:read", "web:search" ], "skills": [ "ux-review", "documentation" ], "categories": [ "design", "product" ], "tags": [ "onboarding", "ux" ], "publishedHandle": "acme/designer", "usageCount": 14, "lastUsedAt": "2026-04-01T02:15:00.000Z", "promptTokenEstimateTotal": 8400, "lastPromptTokenEstimate": 620, "enabled": true }, "usage": { "usageEventId": "organization-agent-context-usage#org_123#organization-agent-context#org_123#designer#api#get_agent_context#2026-04-01T02:15:00.000Z#ab12cd34", "source": "api", "operation": "get_agent_context", "promptTokenEstimate": 620 } }

Error shape

{ "error": "entitlement_feature_unavailable(feature:api_access,plan:free,required:pro)", "feature": "api_access", "requiredPlan": "pro", "upgradePath": "/dashboard/organization/billing" }