Skip to content
Get started

Create a worker template

POST/api/workers

Create a new worker. The worker is a reusable agent template; tasks are runs against this template. Use POST /tasks to actually run the agent.

Body ParametersJSONExpand Collapse
instructions: optional string

Persistent system prompt the worker uses for every task it runs.

maxLength20000
outputSchema: optional map[unknown]

Optional JSON Schema (Draft-07) describing the structured object the worker must produce. When set, every task response is validated against the schema and exposed as structuredOutput.

prompt: optional string

Natural-language description of the worker to use for AI-generated instructions when instructions is omitted.

maxLength10000
summary: optional string

Short one-line description of the worker’s purpose. Auto-generated when omitted and a prompt is provided.

maxLength80
title: optional string

Optional display name. When omitted, Handinger assigns a random dog-themed name.

minLength1
maxLength200
visibility: optional "public" or "private"

public (default) is visible to all org members. private is only visible to invited members.

One of the following:
"public"
"private"
ReturnsExpand Collapse
WorkerTemplate object { id, createdAt, instructions, 8 more }
id: string
createdAt: string
instructions: string
organizationId: string
outputSchema: map[unknown]
summary: string
title: string
updatedAt: string
url: string

Web URL of the worker in the Handinger dashboard.

userId: string
visibility: "public" or "private"
One of the following:
"public"
"private"

Create a worker template

curl https://handinger.com/api/workers \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $HANDINGER_API_KEY" \
    -d "{
          \"instructions\": \"You are a brand voice analyzer. Read the input text and report whether it matches Acme's playful, plain-spoken house style. Quote specific phrases.\",
          \"outputSchema\": {
            \"type\": \"bar\",
            \"required\": \"bar\",
            \"properties\": \"bar\"
          },
          \"prompt\": \"A worker that fact-checks short claims and returns a verdict with citations.\",
          \"summary\": \"Audits copy against the Acme brand voice guide.\",
          \"title\": \"Brand voice analyzer\",
          \"visibility\": \"public\"
        }"
{
  "id": "id",
  "createdAt": "createdAt",
  "instructions": "instructions",
  "organizationId": "organizationId",
  "outputSchema": {
    "foo": "bar"
  },
  "summary": "summary",
  "title": "title",
  "updatedAt": "updatedAt",
  "url": "https://v3.handinger.com/worker/wrk_vk81XUHKHG-qr4",
  "userId": "userId",
  "visibility": "public"
}
Returns Examples
{
  "id": "id",
  "createdAt": "createdAt",
  "instructions": "instructions",
  "organizationId": "organizationId",
  "outputSchema": {
    "foo": "bar"
  },
  "summary": "summary",
  "title": "title",
  "updatedAt": "updatedAt",
  "url": "https://v3.handinger.com/worker/wrk_vk81XUHKHG-qr4",
  "userId": "userId",
  "visibility": "public"
}