Skip to main content
POST /v1/deployments
Creates a Hermes agent in an isolated container for one of your customers. Bring your system prompt, skills, MCP tools, and connector secrets — the deployment ships with session management, observational memory, automations, self-learning, and a persistent filesystem, plus an SSE endpoint to stream agent events. Provisioning usually completes in seconds. Poll Get Deployment until status is ready, then start sending messages.

Request

curl "https://api.prismagents.com/v1/deployments" \
  -X POST \
  -H "Authorization: Bearer $PRISM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_123",
    "name": "Acme Creative Agent",
    "runtime": "hermes",
    "model": "anthropic/claude-sonnet-4.5",
    "system_prompt": "You are Acme'\''s media generation agent. Help the user plan, create, and iterate on high-performing short-form videos.",
    "sandbox": {
      "enabled": true,
      "type": "docker",
      "persistent_filesystem": true
    },
    "mcp_servers": [
      {
        "name": "prism-media",
        "url": "https://api.prismvideos.com/mcp",
        "tools": [
          "search_models",
          "generate_image",
          "generate_video"
        ]
      }
    ],
    "skills": [
      {
        "name": "ugc-video-creation",
        "source": "file",
        "path": ".prism/skills/ugc-video-creation/SKILL.md"
      },
      {
        "name": "storyboarding",
        "source": "inline",
        "content": "---\nname: storyboarding\ndescription: Create shot-by-shot storyboards\n---\n# Storyboarding\n..."
      },
      {
        "name": "social-media-visual-effects",
        "source": "url",
        "url": "https://example.com/skills/social-media-visual-effects/SKILL.md"
      }
    ],
    "secrets": {
      "META_ADS_TOKEN": "sec_meta_ads_token",
      "GOOGLE_DRIVE_TOKEN": "sec_google_drive_token"
    },
    "features": {
      "memory": true,
      "dreaming": true,
      "automations": true,
      "steering": true,
      "filesystem_webhooks": true
    }
  }'

Body parameters

ParameterTypeRequiredDescription
customer_idstringYesYour identifier for the customer this agent serves. One agent per customer is the recommended model
namestringYesHuman-readable deployment name
runtimestringNoAgent harness to run. Currently hermes (default)
modelstringNoModel in provider/model form, such as anthropic/claude-sonnet-4.5. No provider lock-in
system_promptstringYesThe agent’s system prompt
sandboxobjectNoSandbox configuration — see Sandbox
mcp_serversarrayNoYour MCP servers exposing first-party tools — see MCP servers
skillsarrayNoSkill files that teach the agent your domain playbooks — see Skills
secretsobjectNoMap of environment variable names to secret references (sec_...) for connectors
featuresobjectNoFeature flags — see Features

Sandbox

FieldTypeDefaultDescription
enabledbooleantrueRun the agent in an isolated container
typestringdockerSandbox backend
persistent_filesystembooleantruePersist the agent’s workspace across sessions

MCP servers

FieldTypeRequiredDescription
namestringYesUnique server name
urlstringYesURL of your MCP server
toolsstring[]NoAllowlist of tool names. Omit to expose all tools

Skills

Each skill is loaded from one of three sources:
sourceRequired fieldsDescription
filename, pathA SKILL.md file uploaded to the deployment
inlinename, contentSkill markdown provided directly in the request
urlname, urlA SKILL.md fetched from a public URL

Features

FieldTypeDefaultDescription
memorybooleantrueObservational memory across sessions
dreamingbooleanfalseIdle-time self-learning between sessions
automationsbooleantrueScheduled and recurring agent runs
steeringbooleantrueHuman-in-the-loop approvals mid-run
filesystem_webhooksbooleanfalseWebhook notifications on agent filesystem changes

Response

{
  "deployment_id": "dep_7xK9s2",
  "customer_id": "cus_123",
  "runtime": "hermes",
  "status": "ready",
  "model": "anthropic/claude-sonnet-4.5",
  "thread_id": "thr_default_8a1",
  "filesystem": {
    "workspace_path": "/workspace",
    "persistent": true
  },
  "events": {
    "transport": "sse",
    "url": "https://api.prismagents.com/v1/deployments/dep_7xK9s2/events"
  }
}

Response fields

FieldTypeDescription
deployment_idstringDeployment ID to pass to other endpoints
customer_idstringThe customer identifier you supplied
runtimestringAgent harness running in the deployment
statusstringOne of provisioning, ready, error
modelstringResolved model identifier
thread_idstringDefault thread for Send Message
filesystem.workspace_pathstringPath of the agent’s workspace inside the container
filesystem.persistentbooleanWhether the workspace persists across sessions
events.transportstringAlways sse
events.urlstringStream Events endpoint for this deployment

Errors

StatusErrorWhen
400validation_errorInvalid JSON request body
401unauthorizedMissing or invalid API key
402insufficient_creditsThe account does not have enough credits
403forbiddenAPI key lacks deployments:write scope
422invalid_skillA skill could not be fetched or parsed
422invalid_secret_refA secret reference does not exist
See Errors for the full error reference.