Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/hlix-ai:hlix-ai-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: Explore the Hlix API for projects, agent teams, and delivery workflows. Authenticate with `x-api-key` and select a Workspace with `X-Organization-Id`. Session-only operations require a signed-in user session. Authentication setup.
title: reference Tasks API
version: 1.0.0
servers:
- url: https://server.hlix.ai
description: API server
security:
- apiKey: []
- sessionCookie: []
tags:
- description: Tasks, comments and review evidence.
name: Tasks
paths:
/v1/api/tasks:
get:
operationId: listTasks
parameters:
- description: Only tasks in this project.
in: query
name: projectId
required: false
schema:
type: string
- description: Only tasks in this status.
in: query
name: status
required: false
schema:
type: string
- $ref: '#/components/parameters/OrganizationId'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Task'
type: array
description: The matching tasks.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The request named no active organization.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist.
summary: List tasks in the workspace
tags:
- Tasks
post:
operationId: createTask
parameters:
- $ref: '#/components/parameters/OrganizationId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTask'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: The created task.
'400':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/ValidationError'
- $ref: '#/components/schemas/ApiError'
description: The JSON body failed schema validation (`ValidationError`), or the request named no active organization (`ApiError`).
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No such project in this workspace — or a client collaborator it was never shared with (existence is deliberately not revealed).
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The project is archived and does not accept new tasks.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The task could not be created.
summary: Create a task; taskConfig delegates it through a one-task cycle
tags:
- Tasks
/v1/api/tasks/{id}:
get:
operationId: getTask
parameters:
- in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/ClientPortal'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: The task.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The request named no active organization.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No such task in this workspace.
summary: Get one task
tags:
- Tasks
patch:
operationId: updateTask
parameters:
- in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/OrganizationId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTask'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: The updated task.
'400':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/ValidationError'
- $ref: '#/components/schemas/ApiError'
description: The JSON body failed schema validation (`ValidationError`), or the request named no active organization (`ApiError`).
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No such task in this workspace.
summary: Update a task's title, description or status
tags:
- Tasks
/v1/api/tasks/{id}/comments:
get:
operationId: listTaskComments
parameters:
- in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/ClientPortal'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TaskComment'
type: array
description: The task's comment thread, oldest first.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The request named no active organization.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No such task in this workspace.
summary: List the comments on a task
tags:
- Tasks
post:
operationId: addTaskComment
parameters:
- in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/ClientPortal'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddTaskComment'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskComment'
description: The stored comment.
'400':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/ValidationError'
- $ref: '#/components/schemas/ApiError'
description: The JSON body failed schema validation (`ValidationError`), or the request named no active organization (`ApiError`).
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No valid session or API key.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: No such task in this workspace.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: The supplied `messageId` is already in use — either on another conversation, or on this one with different content.
summary: Comment on a task
tags:
- Tasks
components:
schemas:
ApiError:
additionalProperties: {}
properties:
error:
type: string
required:
- error
type: object
CreateTask:
properties:
description:
maxLength: 5000
minLength: 1
type: string
doneWhen:
maxLength: 1000
minLength: 1
pattern: ^[^\r\n]+$
type: string
projectId:
format: uuid
pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
type: string
taskConfig:
additionalProperties: false
properties:
agent:
enum:
- claude-code
- codex
- opencode
- goose
- qwen-code
- pi
- hlix
type: string
funding:
additionalProperties: false
properties:
accountId:
anyOf:
- maxLength: 200
minLength: 1
type: string
- type: 'null'
mode:
enum:
- managed
- api_key
- subscription
type: string
nativeModel:
anyOf:
- maxLength: 200
minLength: 1
type: string
- type: 'null'
providerId:
anyOf:
- maxLength: 200
minLength: 1
type: string
- type: 'null'
required:
- mode
- accountId
- nativeModel
type: object
type: object
title:
maxLength: 200
minLength: 1
type: string
required:
- projectId
- description
type: object
TaskComment:
properties:
author:
type:
- string
- 'null'
body:
type: string
createdAt:
type: string
id:
type: string
parts:
items:
oneOf:
- properties:
text:
type: string
type:
const: text
type: string
required:
- type
- text
type: object
- properties:
text:
type: string
type:
const: reasoning
type: string
required:
- type
- text
type: object
- properties:
producer:
const: roadmap-planner
type: string
spec:
additionalProperties: false
properties:
components:
items:
additionalProperties: {}
properties:
component:
enum:
- Column
- Row
- Card
- Heading
- Text
- Metric
- Status
- Progress
- Link
- Steps
- Suggestions
- Divider
type: string
id:
minLength: 1
type: string
required:
- id
- component
type: object
maxItems: 200
minItems: 1
type: array
data:
additionalProperties: {}
propertyNames:
type: string
type: object
surfaceId:
maxLength: 128
minLength: 1
type: string
required:
- surfaceId
- components
type: object
type:
const: presentation
type: string
required:
- type
- producer
- spec
type: object
- properties:
error:
type: string
input: {}
output: {}
state:
enum:
- pending
- done
- error
type: string
toolCallId:
minLength: 1
type: string
toolName:
minLength: 1
type: string
type:
const: tool
type: string
required:
- type
- toolCallId
- toolName
- state
type: object
type: array
replyTo:
type: string
role:
enum:
- user
- assistant
type: string
status:
enum:
- complete
- error
- aborted
type: string
required:
- id
- body
- author
- role
- createdAt
type: object
Task:
properties:
agentId:
type:
- string
- 'null'
billableCostMicros:
anyOf:
- format: int64
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
- type: 'null'
costMicros:
anyOf:
- format: int64
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
- type: 'null'
createdAt:
type: string
currentStage:
type:
- string
- 'null'
cycleId:
type:
- string
- 'null'
deliveryEvidence:
properties:
candidateRevision:
pattern: ^[a-f0-9]{40}$
type: string
deliveredRevision:
pattern: ^[a-f0-9]{40}$
type: string
integratedRepos:
items:
type: string
type: array
integratedRevision:
pattern: ^[a-f0-9]{40}$
type: string
reason:
enum:
- awaiting_delivery
- stale_receipt
- unknown_evidence
- required_checks_unmet
- independent_review_unmet
- durable_output_missing
- durable_output_changed
- durable_output_unknown
- candidate_changed
- repository_unknown
- preview_unmet
- pull_request_unmet
- delivery_write_unmet
type: string
status:
enum:
- delivered
- unmet
- unknown
type: string
required:
- status
type: object
description:
type: string
doingSince:
type:
- string
- 'null'
doneWhen:
type:
- string
- 'null'
headSha:
type:
- string
- 'null'
id:
type: string
implementationPlan:
type:
- string
- 'null'
iteration:
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
metadata: {}
note:
type:
- string
- 'null'
organizationId:
type: string
pipeline: {}
projectId:
type: string
repoId:
type:
- string
- 'null'
requirementsSummary:
type:
- string
- 'null'
reviewFeedback:
type:
- string
- 'null'
reviewRounds:
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
sortOrder:
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
source:
enum:
- operator
- engineer
- review
- platform
type: string
status:
enum:
- queued
- blocked
- building
- testing
- reviewing
- approved
- merging
- resolving
- merged
- pr_created
- ci_passing
- done
- failed
type: string
title:
type:
- string
- 'null'
updatedAt:
type: string
required:
- id
- organizationId
- projectId
- cycleId
- repoId
- agentId
- title
- description
- doneWhen
- status
- headSha
- costMicros
- billableCostMicros
- sortOrder
- iteration
- reviewRounds
- reviewFeedback
- note
- doingSince
- source
- requirementsSummary
- implementationPlan
- pipeline
- currentStage
- metadata
- createdAt
- updatedAt
type: object
UpdateTask:
properties:
description:
maxLength: 5000
minLength: 1
type: string
doneWhen:
anyOf:
- maxLength: 1000
minLength: 1
pattern: ^[^\r\n]+$
type: string
- type: 'null'
status:
enum:
- queued
- blocked
- building
- testing
- reviewing
- approved
- merging
- merged
- pr_created
- ci_passing
- done
- failed
type: string
title:
maxLength: 200
minLength: 1
type: string
type: object
ValidationError:
properties:
error:
properties:
message:
type: string
name:
type: string
required:
- name
- message
type: object
success:
const: false
type: boolean
required:
- success
- error
type: object
AddTaskComment:
properties:
body:
maxLength: 10000
minLength: 1
type: string
messageId:
format: uuid
pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
type: string
required:
- body
type: object
parameters:
ClientPortal:
description: The agency Workspace ID for a signed-in client's portal requests. A verified user session and portal membership are required; API keys cannot authenticate portal access. This header does not grant agency administration access.
in: header
name: X-Client-Portal
required: false
schema:
type: string
OrganizationId:
description: The workspace (organization) to act in. Omitted, the session's active organization is used.
in: header
name: X-Organization-Id
required: false
schema:
type: string
example: YOUR_WORKSPACE_ID
securitySchemes:
apiKey:
description: An API key issued through `/v1/api/auth/api-key/*`. Browser clients can use their session cookie instead.
in: header
name: x-api-key
type: apiKey
sessionCookie:
description: The complete session Cookie header issued by sign-in at the selected API host. Cookie names vary by hosting region and environment; preserve the issued name and value. Browsers send these HTTP-only cookies automatically. Session-only operations require this user session and do not accept an API key.
in: header
name: Cookie
type: apiKey