Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| name | string | |
| role | string | Permission level; commenter comments only, editor can write, owner never allowed. Defaults to editor, capped at the creator's seat. |
| managed | boolean | Made automatically for one imported paper, not named by a person. Never listed over MCP, asked, or used as a workflow step. |
| created_by | stringnull | The user who registered the agent — who it publishes and bills on behalf of. |
| created_at | string | |
| description | stringnull | One line: what this agent does. |
| instructions_short_id | stringnull | The artifact it reads before every job. Null for a connected tool. |
| machine | string | Where its jobs run: the owner's runner or MCP session, or a Derive sandbox. |
| provider | string | Which coding agent runs its jobs. |
| runtime | objectnull | Cloud sandbox availability and progress. No credentials. |
| model | stringnull | |
| effort | stringnull | Harness reasoning level. Null is its default. |
| sandbox | object | |
| ask_policy | string | |
| spend_policy | string | asker: each job runs on its asker's model account and secrets. creator: on its creator's, lent to everyone who may ask. |
| write_policy | string | publish: its writes go live like a person's. review: they still go live, and every new version it writes to an existing page opens a review round for the person it acts for. |
| paused | boolean | |
| seen_at | stringnull | When its runner last pulled work. |
| max_run_ms | numbernull | |
| max_concurrency | number | |
| connection_ids | array | Sources it can reach. |
| repository | stringnull | Where its tasks work when an ask names no repository. |
| environment | object | Environment variables its jobs get: NAME → the id of a saved secret. Never values. |
| environment_names | array | Environment variable names bound to credentials. Never values. |
| sources | array | Every source and secret it is bound to, by name: connection_ids and the secrets behind environment. Never values. |
| account_id | stringnull |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/derive-to/json-schema/derive-to-agent-schema.json",
"title": "Agent",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/derive-to-openapi.json#/components/schemas/Agent",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"viewer",
"commenter",
"editor",
"owner"
],
"description": "Permission level; commenter comments only, editor can write, owner never allowed. Defaults to editor, capped at the creator's seat."
},
"managed": {
"type": "boolean",
"description": "Made automatically for one imported paper, not named by a person. Never listed over MCP, asked, or used as a workflow step."
},
"created_by": {
"type": [
"string",
"null"
],
"description": "The user who registered the agent — who it publishes and bills on behalf of."
},
"created_at": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
],
"description": "One line: what this agent does."
},
"instructions_short_id": {
"type": [
"string",
"null"
],
"description": "The artifact it reads before every job. Null for a connected tool."
},
"machine": {
"type": "string",
"enum": [
"owner",
"derive"
],
"description": "Where its jobs run: the owner's runner or MCP session, or a Derive sandbox."
},
"provider": {
"type": "string",
"enum": [
"claude-code",
"codex"
],
"description": "Which coding agent runs its jobs."
},
"runtime": {
"type": [
"object",
"null"
],
"properties": {
"provider": {
"type": "string",
"enum": [
"ortam",
"boat"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"phase": {
"type": [
"string",
"null"
],
"enum": [
"creating",
"provisioning",
"stopping",
"ready",
"busy",
"deleting",
"failed",
null
]
}
},
"required": [
"provider",
"phase"
],
"description": "Cloud sandbox availability and progress. No credentials."
},
"model": {
"type": [
"string",
"null"
]
},
"effort": {
"type": [
"string",
"null"
],
"description": "Harness reasoning level. Null is its default."
},
"sandbox": {
"$ref": "#/$defs/AgentSandbox"
},
"ask_policy": {
"type": "string",
"enum": [
"workspace",
"invited"
]
},
"spend_policy": {
"type": "string",
"enum": [
"asker",
"creator"
],
"description": "asker: each job runs on its asker's model account and secrets. creator: on its creator's, lent to everyone who may ask."
},
"write_policy": {
"type": "string",
"enum": [
"publish",
"review"
],
"description": "publish: its writes go live like a person's. review: they still go live, and every new version it writes to an existing page opens a review round for the person it acts for."
},
"paused": {
"type": "boolean"
},
"seen_at": {
"type": [
"string",
"null"
],
"description": "When its runner last pulled work."
},
"max_run_ms": {
"type": [
"number",
"null"
]
},
"max_concurrency": {
"type": "number"
},
"connection_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sources it can reach."
},
"repository": {
"type": [
"string",
"null"
],
"description": "Where its tasks work when an ask names no repository."
},
"environment": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Environment variables its jobs get: NAME → the id of a saved secret. Never values."
},
"environment_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "Environment variable names bound to credentials. Never values."
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/AgentSource"
},
"description": "Every source and secret it is bound to, by name: connection_ids and the secrets behind environment. Never values."
},
"account_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"role",
"managed",
"created_by",
"created_at",
"description",
"instructions_short_id",
"machine",
"provider",
"model",
"effort",
"sandbox",
"ask_policy",
"spend_policy",
"write_policy",
"paused",
"seen_at",
"max_run_ms",
"max_concurrency",
"connection_ids",
"repository",
"environment",
"environment_names",
"sources",
"account_id"
],
"$defs": {
"AgentSandbox": {
"type": "object",
"properties": {
"snapshot": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,120}$",
"description": "A prepared provider image, such as a Boat named snapshot."
},
"environment": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,120}$",
"description": "A provider environment to attach, with its repositories and secrets. Absent: none of the account's secrets."
},
"size": {
"type": "string",
"enum": [
"small",
"default",
"large",
"xlarge"
],
"description": "Machine size."
},
"fresh": {
"type": "boolean",
"description": "Build a new machine from the snapshot for every task instead of resuming."
},
"check": {
"type": "string",
"maxLength": 2000,
"description": "Shell command run before the harness starts. A nonzero exit ends the task with its output and spends no model tokens."
}
},
"description": "The machine its Derive jobs run on. Empty uses the workspace default."
},
"AgentSource": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The source's name, or a secret's label. Never a value."
},
"kind": {
"type": "string",
"enum": [
"oauth",
"secret",
"github_app",
"slack",
"mcp",
"runtime"
]
},
"scope": {
"type": "string",
"enum": [
"personal",
"workspace"
]
},
"status": {
"type": "string",
"enum": [
"active",
"pending",
"revoked"
]
}
},
"required": [
"id",
"name",
"kind",
"scope",
"status"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/derive-to-agent"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.