Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,539Letters: 14Defects: 1,323counted 2 min ago
teppi

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: ![](url) 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: ![](url) 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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6ac0241aef2826e6b0a79c3dcc0bf60f9a399a36bee056e1439b95f1f5294daa | sha256sum