Clawvisor Tasks API
Declare, approve, expand, and complete task scopes.
Declare, approve, expand, and complete task scopes.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/clawvisor-tasks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Clawvisor Gateway Auth Tasks API
version: 0.2.0
description: The Clawvisor gateway API — the authorization layer AI agents call to act on external services (Gmail, Calendar, Drive, Contacts, GitHub, Slack, Notion, Linear, Stripe, Twilio, iMessage) without ever holding the underlying credentials. Agents declare a **task** describing their purpose and the service/action pairs they need; the user approves the scope once; and every subsequent gateway request is checked against restrictions, task scope, intent verification, and (optionally) per-request human approval before Clawvisor injects credentials, executes through an adapter, and returns a clean semantic result. This description is GENERATED by the API Evangelist enrichment pipeline from Clawvisor's public README and agent protocol (skills/clawvisor/SKILL.md.tmpl); Clawvisor does not publish an OpenAPI document. Every path, method, field, and status below is documented in github.com/clawvisor/clawvisor.
x-generated-by: api-evangelist-enrichment-pipeline
x-source: https://github.com/clawvisor/clawvisor/blob/main/README.md
license:
name: MIT
url: https://github.com/clawvisor/clawvisor/blob/main/LICENSE
contact:
name: Clawvisor
url: https://clawvisor.com
servers:
- url: https://app.clawvisor.com
description: Hosted Clawvisor (managed service)
- url: http://localhost:25297
description: Self-hosted local daemon (default port)
security:
- agentToken: []
tags:
- name: Tasks
description: Declare, approve, expand, and complete task scopes.
paths:
/api/tasks:
post:
operationId: createTask
tags:
- Tasks
summary: Declare a task scope
description: Declare a purpose and the authorized service/action pairs the agent needs. The task starts as `pending_approval`; the user approves the scope via dashboard, Telegram, or a mobile push. Use `?wait=true` to block until the user approves or denies in a single round-trip.
parameters:
- name: wait
in: query
required: false
description: Long-poll until the task is approved or denied.
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCreate'
responses:
'200':
description: Task created (and resolved when wait=true).
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'401':
description: Missing or invalid agent token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
get:
operationId: listTasks
tags:
- Tasks
summary: List tasks
description: List the agent's active, standing, pending, and completed tasks.
responses:
'200':
description: A list of tasks.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Task'
/api/tasks/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: getTask
tags:
- Tasks
summary: Get a task (supports long-polling)
description: Retrieve a task's current state. Use `?wait=true` to long-poll until the status changes to `active` or `denied`.
parameters:
- name: wait
in: query
required: false
schema:
type: boolean
responses:
'200':
description: The task.
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'404':
description: Task not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/api/tasks/{id}/expand:
post:
operationId: expandTask
tags:
- Tasks
summary: Request a scope expansion
description: Add an action not in the original task scope. The user is notified and can approve or deny; on approval the action is added and the session task TTL is reset. Standing tasks cannot be expanded.
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizedAction'
responses:
'200':
description: Expansion requested / resolved.
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
/api/tasks/{id}/complete:
post:
operationId: completeTask
tags:
- Tasks
summary: Mark a task complete
description: Signal the task is done; chain-context facts are cleaned up.
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Task completed.
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
components:
schemas:
AuthorizedAction:
type: object
required:
- service
- action
properties:
service:
type: string
description: Service (optionally with account alias), e.g. `google.gmail:user@example.com`.
action:
type: string
description: Action on the service, e.g. `list_messages`, `send_message`.
auto_execute:
type: boolean
description: When true, in-scope requests run immediately; false requires per-request approval.
expected_use:
type: string
description: Per-action description checked against actual request params by intent verification.
verification:
type: string
enum:
- strict
- lenient
- false
description: Per-scope intent verification mode.
Error:
type: object
properties:
status:
type: string
error:
type: string
code:
type: string
Task:
type: object
properties:
id:
type: string
purpose:
type: string
status:
type: string
enum:
- pending_approval
- active
- pending_scope_expansion
- completed
- denied
- expired
- revoked
lifetime:
type: string
enum:
- session
- standing
- sliding
authorized_actions:
type: array
items:
$ref: '#/components/schemas/AuthorizedAction'
expires_at:
type: string
format: date-time
PlannedCall:
type: object
required:
- service
- action
- params
properties:
service:
type: string
action:
type: string
params:
type: object
additionalProperties: true
description: Known params, or `$chain` for values that come from a prior call's results.
reason:
type: string
TaskCreate:
type: object
required:
- purpose
- authorized_actions
properties:
purpose:
type: string
description: Capability statement shown at approval and checked by intent verification.
authorized_actions:
type: array
items:
$ref: '#/components/schemas/AuthorizedAction'
planned_calls:
type: array
items:
$ref: '#/components/schemas/PlannedCall'
lifetime:
type: string
enum:
- session
- standing
- sliding
description: session (default, TTL), standing (until revoked), or sliding (auto-extends on use).
expires_in_seconds:
type: integer
description: Task TTL for session tasks.
callback_url:
type: string
format: uri
description: URL Clawvisor POSTs a task callback to on approval/denial/expansion/expiry.
securitySchemes:
agentToken:
type: http
scheme: bearer
description: Agent token (or dashboard JWT for admin-gated endpoints), sent as Authorization Bearer header.
agentTokenHeader:
type: apiKey
in: header
name: X-Clawvisor-Agent-Token
description: Agent token for the skill catalog endpoint.