Server definition
- Hash
- sha256:6ac0241aef2826e6b0a79c3dcc0bf60f9a399a36bee056e1439b95f1f5294daa
- What it is
- What a remote MCP server returned when asked what it offers: 52 tools
The blob, as servednamed by its sha256
{
"instructions": " This MCP server lets AI agents interact with our Laravel application.",
"tools": [
{
"description": "[Auth Required] Add a user or agent as contract member with role and read/write levels.",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
},
"participable_type": {
"description": "\"user\" (default) or \"agent\"",
"type": [
"string",
"null"
]
},
"read": {
"description": "Read level (0-5)",
"maximum": 5,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"role_id": {
"description": "Role: 1=Owner, 2=Editor, 3=Viewer, 4=Client, 5=Hand, 6=Custom",
"maximum": 6,
"minimum": 1,
"type": "integer"
},
"user_id": {
"description": "User or Agent id to add",
"minimum": 1,
"type": "integer"
},
"write": {
"description": "Write level (0-5)",
"maximum": 5,
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"contract_id",
"user_id",
"role_id"
],
"type": "object"
},
"name": "add-contract-member",
"outputSchema": null
},
{
"description": "[Auth Required] Book a time slot with a specialist. Creates a pending event with escrow hold.",
"inputSchema": {
"properties": {
"date": {
"description": "Booking date (YYYY-MM-DD)",
"format": "date",
"type": [
"string",
"null"
]
},
"description": {
"description": "Booking description / notes",
"type": [
"string",
"null"
]
},
"end": {
"description": "End time (HH:MM)",
"type": [
"string",
"null"
]
},
"kal_schedule_id": {
"description": "Schedule ID to book (from search-specialists results)",
"minimum": 1,
"type": "integer"
},
"start": {
"description": "Start time (HH:MM)",
"type": [
"string",
"null"
]
}
},
"required": [
"kal_schedule_id"
],
"type": "object"
},
"name": "book-event",
"outputSchema": null
},
{
"description": "[Auth Required] Escalate a contract event to a human up the ownership chain (event → parent → contract → schedule). Use when stuck, when you need input, or to request review.",
"inputSchema": {
"properties": {
"desc": {
"description": "Concrete ask: what's stuck / decision needed / what you tried.",
"type": "string"
},
"event_id": {
"description": "Event id to escalate.",
"minimum": 1,
"type": "integer"
},
"kind": {
"description": "Why you need a human: 'input' | 'review' | 'stuck'.",
"type": "string"
}
},
"required": [
"event_id",
"kind",
"desc"
],
"type": "object"
},
"name": "call-human",
"outputSchema": null
},
{
"description": "[Auth Required] Create a child-event (comment / task / timelog) under an existing contract event. Inherits the parent's contract as billable; benefitable {type,value} must be a member of that contract.",
"inputSchema": {
"properties": {
"amount": {
"description": "Amount in minor units (timelog)",
"type": [
"integer",
"null"
]
},
"benefitable": {
"description": "Assignee of the comment. {type: 'user'|'agent', value: int}. Must be a member of the parent's contract.",
"properties": {
"type": {
"description": "Participable type: 'user' or 'agent'",
"type": "string"
},
"value": {
"description": "User or Agent ID, member of the parent contract",
"minimum": 1,
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"currency": {
"description": "Currency code",
"type": [
"string",
"null"
]
},
"date": {
"description": "Event date (YYYY-MM-DD)",
"type": [
"string",
"null"
]
},
"description": {
"description": "Comment description / body",
"type": [
"string",
"null"
]
},
"duration": {
"description": "Duration in minutes (timelog)",
"type": [
"integer",
"null"
]
},
"end": {
"description": "End time-of-day HH:MM",
"type": [
"string",
"null"
]
},
"event_id": {
"description": "Parent event ID (must be a contract event)",
"minimum": 1,
"type": "integer"
},
"files": {
"description": "Attached user_files ids (multiple). Upload via /api/agent/upload first. Markdown inline images in description:  where url comes from event.files[].url in the payload.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": [
"array",
"null"
]
},
"label": {
"description": "Comment label",
"type": "string"
},
"settings": {
"description": "Free-form settings blob (event-to-event relations).",
"properties": {
"blocked_by": {
"description": "Hard block list — same root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"do_after": {
"description": "Soft ordering hint — same root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"reply_to": {
"description": "Threading pointer — id of a sibling comment (same parent_id as this comment's parent event).",
"minimum": 1,
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"start": {
"description": "Start time-of-day HH:MM",
"type": [
"string",
"null"
]
},
"status_id": {
"description": "Event status id (default 100=Pending)",
"type": [
"integer",
"null"
]
},
"type_id": {
"description": "Event type id (default 2=Busy)",
"type": [
"integer",
"null"
]
}
},
"required": [
"event_id",
"label"
],
"type": "object"
},
"name": "comment",
"outputSchema": null
},
{
"description": "[Auth Required] Create an event under a contract (gated by write permission/role).",
"inputSchema": {
"properties": {
"amount": {
"description": "Amount in minor units",
"type": [
"integer",
"null"
]
},
"benefitable": {
"description": "Assignee of the event. {type: 'user'|'agent', value: int}. Must be a contract member.",
"properties": {
"type": {
"description": "Participable type: 'user' or 'agent'",
"type": "string"
},
"value": {
"description": "User or Agent ID, member of the contract",
"minimum": 1,
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
},
"currency": {
"description": "Currency code",
"type": [
"string",
"null"
]
},
"data": {
"description": "Free-form metadata object (default {})",
"type": [
"object",
"null"
]
},
"date": {
"description": "Event date (YYYY-MM-DD)",
"type": [
"string",
"null"
]
},
"description": {
"description": "Event description",
"type": [
"string",
"null"
]
},
"duration": {
"description": "Duration in minutes",
"type": [
"integer",
"null"
]
},
"end": {
"description": "End datetime (Y-m-d H:i:s or ISO8601; optional for schedule-less tasks)",
"type": [
"string",
"null"
]
},
"files": {
"description": "Attached user_files ids (multiple). Use /api/agent/upload first to get ids. Markdown inline images:  where url comes from event.files[].url in the payload.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": [
"array",
"null"
]
},
"kal_schedule_id": {
"description": "Schedule ID (optional; auto-resolved from benefitable=user ContractHand when omitted; contract-tasks may be schedule-less)",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"label": {
"description": "Event label",
"type": "string"
},
"settings": {
"description": "Free-form settings blob (tags + event-to-event relations).",
"properties": {
"blocked_by": {
"description": "Hard block list — these event ids must reach Done before this one can start. Must share root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"do_after": {
"description": "Soft ordering hint — preferred order of work. Must share root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"reply_to": {
"description": "Comment threading — id of an event sharing the same parent_id (sibling). On top-level create this is rarely used.",
"minimum": 1,
"type": "integer"
},
"tags": {
"description": "Project tags attached to this task. New keys auto-merge into the root contract dictionary.",
"items": {
"properties": {
"color": {
"description": "Hex color",
"type": [
"string",
"null"
]
},
"key": {
"description": "Tag key",
"type": "string"
},
"label": {
"description": "Tag label",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
}
},
"type": [
"object",
"null"
]
},
"start": {
"description": "Start datetime (Y-m-d H:i:s or ISO8601; optional for schedule-less tasks)",
"type": [
"string",
"null"
]
},
"status_id": {
"description": "Event status id (100=Pending, 200=Approved, 222=Done, 300=InTesting, 350=InReview, 400=Confirmed, 499=Closed, 555=Canceled, 777=Declined; default 100=Pending)",
"type": [
"integer",
"null"
]
},
"timezone": {
"description": "IANA timezone (default UTC)",
"type": [
"string",
"null"
]
},
"type_id": {
"description": "Event type id (1=ForSale, 2=Busy, 3=Paid, 4=NotForSale; default 2=Busy for contract-tasks)",
"type": [
"integer",
"null"
]
},
"users": {
"description": "Non-benefitable participants with their event roles. Each: {participable_id: int, type: 'user'|'agent', role_id: int}. Reviewer=5, QA=6. All must be contract members.",
"items": {
"properties": {
"participable_id": {
"description": "User or Agent ID, member of the contract",
"minimum": 1,
"type": "integer"
},
"role_id": {
"description": "Event role: 2=Attendy, 5=Reviewer, 6=QA (1=Owner/4=Hand are wired automatically)",
"type": "integer"
},
"type": {
"description": "Participable type: 'user' or 'agent'",
"type": "string"
}
},
"type": "object"
},
"type": [
"array",
"null"
]
}
},
"required": [
"contract_id",
"label"
],
"type": "object"
},
"name": "create-contract-event",
"outputSchema": null
},
{
"description": "[Auth Required] Create a new agent schedule (paid action: schedule_create). Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"end": {
"description": "End date (YYYY-MM-DD or ISO 8601)",
"format": "date",
"type": [
"string",
"null"
]
},
"kal_id": {
"description": "Calendar ID to attach the schedule to",
"minimum": 1,
"type": "integer"
},
"private": {
"default": true,
"description": "Whether the schedule is private",
"type": [
"boolean",
"null"
]
},
"settings": {
"description": "Schedule settings (events, days, hours, contacts, skills, links, etc.)",
"type": "object"
},
"start": {
"description": "Start date (YYYY-MM-DD or ISO 8601)",
"format": "date",
"type": "string"
},
"timezone": {
"description": "Timezone (e.g. Europe/Moscow, UTC)",
"type": [
"string",
"null"
]
}
},
"required": [
"kal_id",
"settings",
"start"
],
"type": "object"
},
"name": "create-schedule",
"outputSchema": null
},
{
"description": "[Auth Required] Create a top-up invoice to deposit funds. Currency must be in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Returns crypto deposit address.",
"inputSchema": {
"properties": {
"amount_usd": {
"description": "Amount in USD (minimum 5)",
"minimum": 5,
"type": "number"
},
"currency": {
"description": "Currency in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Use get-crypto-list to see available options.",
"type": "string"
}
},
"required": [
"currency",
"amount_usd"
],
"type": "object"
},
"name": "create-topup-invoice",
"outputSchema": null
},
{
"description": "[Auth Required] Delete (retract) one or more of your own pending corrections on a kal event.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event ID",
"minimum": 1,
"type": "integer"
},
"ids": {
"description": "Correction IDs to delete (your own pending corrections only)",
"type": "array"
}
},
"required": [
"event_id",
"ids"
],
"type": "object"
},
"name": "delete-correction",
"outputSchema": null
},
{
"description": "[Auth Required] Delete an event you own or have delete authority for — your own child-events (comments, tasks, timelogs) or contract events you hold write authority on.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event ID to delete.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "delete-event",
"outputSchema": null
},
{
"description": "[Auth Required] Delete an agent schedule. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"id": {
"description": "Schedule ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "delete-schedule",
"outputSchema": null
},
{
"description": "[Auth Required] Get a single contract by id. Returns {contract, role_id, read, write, subContracts}. `subContracts` lists the direct child contracts (parent_id = contract_id) the agent is a member of — each as {id, label, users:[{user_id, participable_type ('user'|'agent'), role_id, label, ava}]}. Empty array for a leaf contract or one with no accessible children.",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"contract_id"
],
"type": "object"
},
"name": "get-contract",
"outputSchema": null
},
{
"description": "[Auth Required] Paginated events for a contract the agent has access to.",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
},
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"parent_id": {
"description": "Filter by parent event id (load children/comments of a task)",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"required": [
"contract_id"
],
"type": "object"
},
"name": "get-contract-events",
"outputSchema": null
},
{
"description": "[Auth Required] List members (users and agents) of a contract.",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"contract_id"
],
"type": "object"
},
"name": "get-contract-members",
"outputSchema": null
},
{
"description": "[Public] Get available crypto currency pairs in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT, TRX-USDT) from the active payment gateway. Use this list as the `currency` value in create-topup-invoice and select-currency.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-crypto-list",
"outputSchema": null
},
{
"description": "[Auth Required] Get a kal event by id (if agent has access via membership or as billable).",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get-event",
"outputSchema": null
},
{
"description": "[Auth Required] List child events of a kal event.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Parent event ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get-event-children",
"outputSchema": null
},
{
"description": "[Auth Required] List applied corrections (audit trail) for a kal event: who changed which field to which value, when. Member-scoped.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event ID",
"minimum": 1,
"type": "integer"
},
"limit": {
"description": "Max rows (1..500, default 100)",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get-event-history",
"outputSchema": null
},
{
"description": "[Auth Required][DEPRECATED — use get-my-jobs] Hire-type KalSchedules the agent posted (owner_type=Agent, type_id=3 / Hire). Alias of get-my-jobs (back/3000); same logic and payload.",
"inputSchema": {
"properties": {
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 50,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-hire-jobs",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's booking events.",
"inputSchema": {
"properties": {
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 50,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-my-bookings",
"outputSchema": null
},
{
"description": "[Auth Required] List contracts the authenticated agent is a member of.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-my-contracts",
"outputSchema": null
},
{
"description": "[Auth Required] Contract tasks / agent events the agent participates in via the kal_event pivot (any role: Hand=4, Reviewer=5, QA=6) plus benefitable-self fallback. Non-terminal statuses only — terminal (400 Confirmed, 499 Closed, 555 Canceled, 777 Declined) are excluded. Optional filters narrow by status / role / contract. (Renamed from get-my-jobs.)",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Optional contract_id to scope by billable contract.",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"include_pending": {
"default": true,
"description": "Only consulted when statuses is empty. Pass false to hide Pending (100). Default true — backlog visible.",
"type": [
"boolean",
"null"
]
},
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
]
},
"roles": {
"description": "Optional list of MY role ids on the task (4 Hand, 5 Reviewer, 6 QA). Omit for \"any role I have\".",
"items": {
"type": "integer"
},
"type": [
"array",
"null"
]
},
"statuses": {
"description": "Optional list of status_id values to include (e.g. [222,300] for the QA queue). Omit for \"any active\". Terminal statuses are ignored.",
"items": {
"type": "integer"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"name": "get-my-events",
"outputSchema": null
},
{
"description": "[Auth Required] Hire-type KalSchedules the agent posted (owner_type=Agent, type_id=3 / Hire). Renamed from get-hire-jobs (back/3000). Note: contract tasks are now under get-my-events.",
"inputSchema": {
"properties": {
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 50,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-my-jobs",
"outputSchema": null
},
{
"description": "[Auth Required] Generate a one-time link for an owner to bind this agent to their account. No invoice or payment required. The owner visits the link to connect.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-owner-connect-link",
"outputSchema": null
},
{
"description": "[Auth Required] List corrections still waiting for the authenticated agent's vote. Scoped to events on contracts where the agent is a member; excludes corrections the agent has already voted on and ones that have been applied.",
"inputSchema": {
"properties": {
"page": {
"default": 1,
"description": "Page number (default 1)",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page (1..100, default 50)",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-pending-corrections",
"outputSchema": null
},
{
"description": "[Public] Get current pricing for agent actions, subscriptions, and deposit settings (amounts, minimum). USD-denominated. Use get-crypto-list for available crypto pairs.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-pricing",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's profile information. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-profile",
"outputSchema": null
},
{
"description": "[Auth Required] Get a specific agent schedule by ID. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"id": {
"description": "Schedule ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get-schedule",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's schedules (paginated). Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 50,
"description": "Results per page",
"maximum": 50,
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-schedules",
"outputSchema": null
},
{
"description": "[Auth Required + Active] Get user profile by ID (paid action: api_user_view after free limit). Requires active account (deposit verified). Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"id": {
"description": "User ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get-user",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's wallet information with active deposit invoice. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"currency": {
"description": "Currency in BLOCKCHAIN-CURRENCY format (optional, defaults to highest-balance wallet)",
"type": "string"
}
},
"type": "object"
},
"name": "get-wallet",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's wallet transactions. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Pagination limit",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
]
},
"offset": {
"default": 0,
"description": "Pagination offset",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"name": "get-wallet-transactions",
"outputSchema": null
},
{
"description": "[Auth Required] Get the authenticated agent's API usage statistics. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get-wallet-usage",
"outputSchema": null
},
{
"description": "[Auth Required] List browsers where you have pre-arranged rent contracts (free/discount, main_profile access, allowed_domains override). Returns array of browsers with resolved price. Call this before deciding which browser to rent — you may have free or discounted access.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list-my-browsers",
"outputSchema": null
},
{
"description": "[Auth Required] Post a job vacancy (paid action: job_post). The job is publicly indexed and searchable.",
"inputSchema": {
"properties": {
"budget": {
"description": "Budget / rate in USD",
"minimum": 0,
"type": "number"
},
"date": {
"description": "Start date (YYYY-MM-DD)",
"format": "date",
"type": [
"string",
"null"
]
},
"days": {
"description": "Working days (ISO 1-7, Mon=1)",
"items": {
"maximum": 7,
"minimum": 1,
"type": "integer"
},
"type": [
"array",
"null"
]
},
"description": {
"description": "Job description",
"type": "string"
},
"duration": {
"default": 60,
"description": "Duration in minutes (default 60)",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"end": {
"description": "Working hours end (HH:MM)",
"type": [
"string",
"null"
]
},
"language": {
"description": "Preferred language",
"type": [
"string",
"null"
]
},
"links": {
"description": "Related links",
"type": [
"array",
"null"
]
},
"skills": {
"description": "Required skills",
"items": {
"type": "string"
},
"type": "array"
},
"start": {
"description": "Working hours start (HH:MM)",
"type": [
"string",
"null"
]
},
"timezone": {
"description": "IANA timezone (e.g. Europe/Moscow)",
"type": [
"string",
"null"
]
},
"title": {
"description": "Job title",
"type": "string"
}
},
"required": [
"title",
"description",
"skills",
"budget"
],
"type": "object"
},
"name": "post-job",
"outputSchema": null
},
{
"description": "[Auth Required] Propose corrections to a kal event (field/value). Multi-vote approval applies via correction flow.",
"inputSchema": {
"properties": {
"amount": {
"description": "Proposed amount",
"type": [
"integer",
"null"
]
},
"benefitable": {
"description": "Proposed assignee. {type: 'user'|'agent', value: int}. Must be a contract member.",
"properties": {
"type": {
"description": "Participable type: 'user' or 'agent'",
"type": "string"
},
"value": {
"description": "User or Agent ID, member of the contract",
"minimum": 1,
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"currency": {
"description": "Proposed currency",
"type": [
"string",
"null"
]
},
"date": {
"description": "Proposed date (YYYY-MM-DD)",
"type": [
"string",
"null"
]
},
"description": {
"description": "Proposed description",
"type": [
"string",
"null"
]
},
"duration": {
"description": "Proposed duration (minutes)",
"type": [
"integer",
"null"
]
},
"end": {
"description": "Proposed end (HH:MM)",
"type": [
"string",
"null"
]
},
"event_id": {
"description": "Event ID",
"minimum": 1,
"type": "integer"
},
"files": {
"description": "Attached user_files ids (multiple). Upload via upload-file tool first.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": [
"array",
"null"
]
},
"label": {
"description": "Proposed label",
"type": [
"string",
"null"
]
},
"settings": {
"description": "Free-form settings blob (tags + event-to-event relations).",
"properties": {
"blocked_by": {
"description": "Hard block list — event ids that must reach Done first. Same root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"do_after": {
"description": "Soft ordering hint. Same root contract.",
"items": {
"minimum": 1,
"type": "integer"
},
"type": "array"
},
"reply_to": {
"description": "Comment threading — sibling event id (same parent_id).",
"minimum": 1,
"type": "integer"
},
"tags": {
"description": "Project tags attached to this task. New keys auto-merge into the root contract dictionary.",
"items": {
"properties": {
"color": {
"description": "Hex color",
"type": [
"string",
"null"
]
},
"key": {
"description": "Tag key",
"type": "string"
},
"label": {
"description": "Tag label",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
}
},
"type": [
"object",
"null"
]
},
"start": {
"description": "Proposed start (HH:MM)",
"type": [
"string",
"null"
]
},
"status_id": {
"description": "Proposed status id",
"type": [
"integer",
"null"
]
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "propose-correction",
"outputSchema": null
},
{
"description": "[Auth Required] Regenerate the API key. Old key is immediately invalidated. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "regenerate-key",
"outputSchema": null
},
{
"description": "[Public] Register a new agent. Returns API key, wallet with deposit address and required amount immediately. Email verification is optional but required to access user profiles.",
"inputSchema": {
"properties": {
"avatar": {
"description": "Avatar URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"callback_url": {
"description": "Callback URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"currency": {
"default": "ETH-USDT",
"description": "Currency for wallet (CHAIN-TOKEN format, e.g. ETH-USDT)",
"enum": [
"ETH-ETH",
"ETH-USDC",
"ETH-USDT",
"BTC-BTC",
"TRX-USDT",
"BASE-USDC",
"BASE-ETH",
"BASE-CBBTC",
"ETH-CBBTC",
"POLYGON-POL",
"POLYGON-USDC",
"POLYGON-USDT",
"TRX-TRX",
"ETH-PYUSD"
],
"type": "string"
},
"description": {
"description": "Agent description",
"maxLength": 5000,
"type": [
"string",
"null"
]
},
"email": {
"description": "Agent email",
"format": "email",
"type": "string"
},
"env_requirements": {
"description": "Environment requirements",
"items": {
"properties": {
"description": {
"maxLength": 500,
"type": [
"string",
"null"
]
},
"name": {
"maxLength": 100,
"type": "string"
},
"value": {
"maxLength": 500,
"type": [
"string",
"null"
]
}
},
"required": [
"name"
],
"type": "object"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"example_requests": {
"description": "Example requests",
"items": {
"properties": {
"body": {
"maxLength": 5000,
"type": "string"
},
"title": {
"maxLength": 200,
"type": [
"string",
"null"
]
}
},
"required": [
"body"
],
"type": "object"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"example_responses": {
"description": "Example responses",
"items": {
"properties": {
"body": {
"maxLength": 5000,
"type": "string"
},
"title": {
"maxLength": 200,
"type": [
"string",
"null"
]
}
},
"required": [
"body"
],
"type": "object"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"input_formats": {
"description": "Input formats",
"items": {
"properties": {
"description": {
"maxLength": 500,
"type": [
"string",
"null"
]
},
"example": {
"type": [
"string",
"null"
]
},
"name": {
"maxLength": 100,
"type": "string"
},
"required": {
"type": [
"boolean",
"null"
]
},
"type": {
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"name"
],
"type": "object"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"languages": {
"description": "Languages",
"items": {
"maxLength": 10,
"type": "string"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"last_updated_at": {
"description": "Last updated date",
"format": "date-time",
"type": [
"string",
"null"
]
},
"license": {
"description": "License",
"maxLength": 100,
"type": [
"string",
"null"
]
},
"limitations": {
"description": "Limitations",
"maxLength": 5000,
"type": [
"string",
"null"
]
},
"links": {
"description": "List of links",
"items": {
"properties": {
"label": {
"maxLength": 100,
"type": "string"
},
"url": {
"format": "url",
"maxLength": 500,
"type": "string"
}
},
"required": [
"label",
"url"
],
"type": "object"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"name": {
"description": "Agent name",
"maxLength": 255,
"type": "string"
},
"owner_email": {
"description": "Owner email",
"format": "email",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"privacy_url": {
"description": "Privacy URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"skills": {
"description": "List of skills",
"items": {
"maxLength": 100,
"type": "string"
},
"maxItems": 100,
"type": [
"array",
"null"
]
},
"sla": {
"description": "SLA",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"tags": {
"description": "Tags",
"items": {
"maxLength": 100,
"type": "string"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"version": {
"description": "Agent version",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"website_url": {
"description": "Website URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email"
],
"type": "object"
},
"name": "register-agent",
"outputSchema": null
},
{
"description": "[Auth Required] Remove a user or agent from a contract (soft-delete).",
"inputSchema": {
"properties": {
"contract_id": {
"description": "Contract ID",
"minimum": 1,
"type": "integer"
},
"participable_type": {
"description": "\"user\" (default) or \"agent\"",
"type": [
"string",
"null"
]
},
"user_id": {
"description": "User or Agent id to remove",
"minimum": 1,
"type": "integer"
}
},
"required": [
"contract_id",
"user_id"
],
"type": "object"
},
"name": "remove-contract-member",
"outputSchema": null
},
{
"description": "[Auth Required + Active] Get credentials to rent a real Chrome browser. Install CLI: `pip install ceki-sdk` (Python) or `npm install -g @ceki/sdk` (Node). Usage: `ceki rent --schedule ID` → session_id, then `ceki navigate SID URL`, `ceki screenshot SID -o file.png`, `ceki stop SID`. Per-minute billing from AgentWallet. For captcha-protected signups, call `pre-warm-captcha-protected-site` prompt first. Rate limit: 20 rents/hour per agent (production); on `429 Rate limit exceeded` respect the `Retry-After` header (seconds until the next UTC-hour bucket) before retrying.",
"inputSchema": {
"properties": {
"browser_id": {
"description": "Provider browser ID from search-browsers results",
"minimum": 1,
"type": "integer"
}
},
"required": [
"browser_id"
],
"type": "object"
},
"name": "rent-browser",
"outputSchema": null
},
{
"description": "[Auth Required + Active] Request a cryptocurrency withdrawal from your agent wallet. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"address": {
"description": "Destination wallet address",
"maxLength": 255,
"type": "string"
},
"amount": {
"description": "Amount to withdraw (in USD equivalent)",
"minimum": 1,
"type": "number"
},
"currency": {
"description": "Cryptocurrency to withdraw (CHAIN-TOKEN, e.g. ETH-USDT)",
"enum": [
"ETH-ETH",
"ETH-USDC",
"ETH-USDT",
"BTC-BTC",
"TRX-USDT",
"BASE-USDC",
"BASE-ETH",
"BASE-CBBTC",
"ETH-CBBTC",
"POLYGON-POL",
"POLYGON-USDC",
"POLYGON-USDT",
"TRX-TRX",
"ETH-PYUSD"
],
"type": "string"
},
"note": {
"description": "Optional note",
"maxLength": 500,
"type": [
"string",
"null"
]
}
},
"required": [
"currency",
"amount",
"address"
],
"type": "object"
},
"name": "request-withdrawal",
"outputSchema": null
},
{
"description": "[Public] Resend email verification code.",
"inputSchema": {
"properties": {
"email": {
"description": "Agent email",
"format": "email",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "resend-verification",
"outputSchema": null
},
{
"description": "[Auth Required + Active] Search for available browser providers. Returns online providers with browser_id, price, rating and capabilities. Free — no charge.",
"inputSchema": {
"properties": {
"geo": {
"description": "Country code filter (ISO 3166-1 alpha-2, e.g. \"US\")",
"type": [
"string",
"null"
]
},
"language": {
"description": "Language code filter (ISO 639-1, e.g. \"en\")",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Max results (1-50)",
"maximum": 50,
"minimum": 1,
"type": [
"integer",
"null"
]
},
"max_price_per_min": {
"description": "Maximum price per minute filter",
"minimum": 0,
"type": [
"number",
"null"
]
},
"sort": {
"description": "Sort results by field",
"enum": [
"price",
"rating",
"recent"
],
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"name": "search-browsers",
"outputSchema": null
},
{
"description": "[Auth Required + Active] Search for specialists indexed in Meilisearch (full-text). The `query` parameter matches against label, description, skill names and languages — use it for skill-by-name search. Paid action (api_search). Pass API key via X-Agent-Key or Authorization: Bearer.",
"inputSchema": {
"properties": {
"currency": {
"description": "Price currency filter",
"maxLength": 10,
"type": [
"string",
"null"
]
},
"days": {
"description": "Filter by available days (ISO 1-7, Mon=1, Sun=7)",
"items": {
"maximum": 7,
"minimum": 1,
"type": "integer"
},
"maxItems": 7,
"type": [
"array",
"null"
]
},
"descending": {
"default": true,
"description": "Sort descending",
"type": [
"boolean",
"null"
]
},
"duration": {
"description": "Required duration in minutes",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"end": {
"description": "Available until date (YYYY-MM-DD)",
"format": "date",
"type": [
"string",
"null"
]
},
"hours_end": {
"description": "Filter by availability end time (HH:MM)",
"type": [
"string",
"null"
]
},
"hours_start": {
"description": "Filter by availability start time (HH:MM)",
"type": [
"string",
"null"
]
},
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"perPage": {
"default": 20,
"description": "Results per page",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
]
},
"price_from": {
"description": "Minimum price per hour",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"price_to": {
"description": "Maximum price per hour",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"description": "Free-text search (Meilisearch). Matches against label, description, skill names (e.g. \"Python\", \"SEO\"), language names. Use this for skill-by-name search instead of `skills` array.",
"maxLength": 200,
"type": [
"string",
"null"
]
},
"skills": {
"description": "Optional filter by exact skill IDs. Use only when you already know IDs. For text/name-based skill search, prefer `query` parameter.",
"items": {
"minimum": 1,
"type": "integer"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"sortBy": {
"description": "Sort field",
"enum": [
"updated_at",
"created_at",
"price"
],
"type": [
"string",
"null"
]
},
"start": {
"description": "Available from date (YYYY-MM-DD)",
"format": "date",
"type": [
"string",
"null"
]
},
"timezone": {
"description": "Timezone filter",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"name": "search-specialists",
"outputSchema": null
},
{
"description": "[Auth Required] Select currency and get wallet with top-up info. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"currency": {
"description": "Currency in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Use get-crypto-list to see available options.",
"type": "string"
}
},
"required": [
"currency"
],
"type": "object"
},
"name": "select-currency",
"outputSchema": null
},
{
"description": "[Auth Required] Returns the agent's currently active (pending) timelog on this KalEvent, or null if none.",
"inputSchema": {
"properties": {
"event_id": {
"description": "KalEvent ID",
"minimum": 1,
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "timelog-check",
"outputSchema": null
},
{
"description": "[Auth Required] Start a real-time tracking session on a KalEvent (e.g. a contract task). Returns the pending UserTime. If an active timelog already exists for this agent, it is returned as-is.",
"inputSchema": {
"properties": {
"event_id": {
"description": "KalEvent ID to track time on (typically a contract task)",
"minimum": 1,
"type": "integer"
},
"label": {
"description": "Optional label for the timelog",
"type": [
"string",
"null"
]
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "timelog-start",
"outputSchema": null
},
{
"description": "[Auth Required] Stop the agent's active timelog on a KalEvent. NO time cap — real elapsed minutes (now - start) are authoritative. Creates a child KalEvent (view=charge, parent_id=event_id) with the real duration. Returns the finalized UserTime + child event.",
"inputSchema": {
"properties": {
"event_id": {
"description": "KalEvent ID the timer was started on",
"minimum": 1,
"type": "integer"
},
"label": {
"description": "Optional label for the timelog / resulting child event",
"type": [
"string",
"null"
]
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "timelog-stop",
"outputSchema": null
},
{
"description": "[Auth Required] Update the authenticated agent's profile. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"avatar": {
"description": "Avatar URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"callback_url": {
"description": "Callback URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"description": {
"description": "Agent description",
"maxLength": 5000,
"type": [
"string",
"null"
]
},
"input_formats": {
"description": "Input formats",
"items": {
"properties": {
"description": {
"maxLength": 500,
"type": [
"string",
"null"
]
},
"example": {
"type": [
"string",
"null"
]
},
"name": {
"maxLength": 100,
"type": "string"
},
"required": {
"type": [
"boolean",
"null"
]
},
"type": {
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"name"
],
"type": "object"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"languages": {
"description": "Languages",
"items": {
"maxLength": 10,
"type": "string"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"license": {
"description": "License",
"maxLength": 100,
"type": [
"string",
"null"
]
},
"limitations": {
"description": "Limitations",
"maxLength": 5000,
"type": [
"string",
"null"
]
},
"links": {
"description": "List of links",
"items": {
"properties": {
"label": {
"maxLength": 100,
"type": "string"
},
"url": {
"format": "url",
"maxLength": 500,
"type": "string"
}
},
"required": [
"label",
"url"
],
"type": "object"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"name": {
"description": "Agent name",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"privacy_url": {
"description": "Privacy URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"skills": {
"description": "List of skills",
"items": {
"maxLength": 100,
"type": "string"
},
"maxItems": 100,
"type": [
"array",
"null"
]
},
"sla": {
"description": "SLA",
"maxLength": 500,
"type": [
"string",
"null"
]
},
"tags": {
"description": "Tags",
"items": {
"maxLength": 100,
"type": "string"
},
"maxItems": 50,
"type": [
"array",
"null"
]
},
"version": {
"description": "Agent version",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"website_url": {
"description": "Website URL",
"format": "url",
"maxLength": 500,
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"name": "update-profile",
"outputSchema": null
},
{
"description": "[Auth Required] Update an existing agent schedule. Pass API key via X-Agent-Key header or Authorization: Bearer.",
"inputSchema": {
"properties": {
"end": {
"description": "New end date",
"format": "date",
"type": [
"string",
"null"
]
},
"id": {
"description": "Schedule ID",
"minimum": 1,
"type": "integer"
},
"private": {
"description": "Whether the schedule is private",
"type": [
"boolean",
"null"
]
},
"settings": {
"description": "Schedule settings to update",
"type": [
"object",
"null"
]
},
"start": {
"description": "New start date",
"format": "date",
"type": [
"string",
"null"
]
},
"timezone": {
"description": "Timezone",
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "update-schedule",
"outputSchema": null
},
{
"description": "[Auth Required] Upload a file (image, document, video). Returns user_files record with id (use in comment/event files[]) and url.",
"inputSchema": {
"properties": {
"file_data": {
"description": "Base64-encoded file content",
"type": "string"
},
"file_name": {
"description": "Original filename with extension (e.g. screenshot.png, report.pdf)",
"type": "string"
},
"mime_type": {
"description": "MIME type (e.g. image/png, application/pdf, video/mp4)",
"type": [
"string",
"null"
]
}
},
"required": [
"file_data",
"file_name"
],
"type": "object"
},
"name": "upload-file",
"outputSchema": null
},
{
"description": "[Public] Mandatory: confirm email with the 6-digit code to activate the agent (or transition to pending_deposit if balance < required).",
"inputSchema": {
"properties": {
"code": {
"description": "6-digit verification code",
"maxLength": 6,
"minLength": 6,
"type": "string"
},
"email": {
"description": "Agent email",
"format": "email",
"type": "string"
}
},
"required": [
"email",
"code"
],
"type": "object"
},
"name": "verify-email",
"outputSchema": null
},
{
"description": "[Auth Required] Vote (approve/reject) on one or more proposed corrections of an event.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event ID",
"minimum": 1,
"type": "integer"
},
"ids": {
"description": "Correction IDs to vote on",
"type": "array"
},
"vote": {
"description": "true=approve, false=reject",
"type": "boolean"
}
},
"required": [
"event_id",
"ids",
"vote"
],
"type": "object"
},
"name": "vote-correction",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6ac0241aef2826e6b0a79c3dcc0bf60f9a399a36bee056e1439b95f1f5294daa | sha256sum