Hlix Agents API

The agents API from Hlix — 6 operation(s) for agents.

GitHub OpenAPI

Operations 9

GET /v1/api/agents List the workspace's agents #
POST /v1/api/agents Create an agent #
GET /v1/api/agents/avatar-image Read a generated avatar in this workspace #
POST /v1/api/agents/avatar-image Generate a custom avatar using the Hlix avatar skill #
GET /v1/api/agents/roles List the role library the project manager hires from #
GET /v1/api/agents/{id} Get one agent #
PATCH /v1/api/agents/{id} Update an agent #
POST /v1/api/agents/{id}/deactivate Deactivate an agent #
POST /v1/api/agents/{id}/fork Fork an agent into a new custom one #

Specifications

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hlix-ai:hlix-ai-agents-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

hlix-ai-agents-api-openapi.yml Raw ↑
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 Agents API
  version: 1.0.0
servers:
- url: https://server.hlix.ai
  description: API server
security:
- apiKey: []
- sessionCookie: []
tags:
- name: Agents
paths:
  /v1/api/agents:
    get:
      operationId: listAgents
      parameters:
      - description: With `projectId`, returns that project's agents and workspace-wide agents. Without it, returns all active workspace agents. Deactivated agents remain readable by ID.
        in: query
        name: projectId
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Agent'
                type: array
          description: The matching agents.
        '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 the workspace's agents
      tags:
      - Agents
    post:
      operationId: createAgent
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAgent'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: The stored agent. `createdByUserId` and `isBuiltIn` are assigned by the server and cannot be supplied by callers.
        '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: Creating a workspace-wide agent requires owner or admin access. Creating a project-scoped agent requires `manage` access to that project. Client collaborators cannot create agents.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No such agent in this workspace — or no such project to scope it to.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Another agent in this scope already holds that name, or the scope already has an intake agent — there is exactly one per scope.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The agent could not be written.
      summary: Create an agent
      tags:
      - Agents
  /v1/api/agents/avatar-image:
    get:
      operationId: getAgentAvatarImage
      parameters:
      - description: The generated avatar key returned by this workspace.
        in: query
        name: key
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentAvatarImage'
          description: Image data URL.
        '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 accessible avatar image exists for this key.
      summary: Read a generated avatar in this workspace
      tags:
      - Agents
    post:
      operationId: generateAgentAvatar
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateAgentAvatar'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneratedAgentAvatar'
          description: Preview image and persistent avatar key. Save the key on an agent to apply it.
        '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: Only agency members may generate avatars; client collaborators cannot.
        '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.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Image generation refused by policy.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Image generation failed.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Image generation is disabled.
      summary: Generate a custom avatar using the Hlix avatar skill
      tags:
      - Agents
  /v1/api/agents/roles:
    get:
      operationId: listAgentRoles
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Role'
                type: array
          description: The built-in roles, read-only. A workspace's own agents are listed by `listAgents`.
        '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 the role library the project manager hires from
      tags:
      - Agents
  /v1/api/agents/{id}:
    get:
      operationId: getAgent
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: The agent.
        '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 agent in this workspace — or no such project to scope it to.
      summary: Get one agent
      tags:
      - Agents
    patch:
      operationId: updateAgent
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAgent'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: The updated agent.
        '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: Creating a workspace-wide agent requires owner or admin access. Creating a project-scoped agent requires `manage` access to that project. Client collaborators cannot create agents.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No such agent in this workspace — or no such project to scope it to.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Built-in agent definitions cannot be edited; fork the agent to customize it. This status also covers a duplicate agent name or a second intake agent in the same scope.
      summary: Update an agent
      tags:
      - Agents
  /v1/api/agents/{id}/deactivate:
    post:
      operationId: deactivateAgent
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: The agent is now inactive. Built-in agents can be deactivated without changing their definitions.
        '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: Creating a workspace-wide agent requires owner or admin access. Creating a project-scoped agent requires `manage` access to that project. Client collaborators cannot create agents.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No such agent in this workspace — or no such project to scope it to.
      summary: Deactivate an agent
      tags:
      - Agents
  /v1/api/agents/{id}/fork:
    post:
      operationId: forkAgent
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForkAgent'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: The forked agent. `duty` is inherited, allowing a project-specific intake agent. `mastraRole`, `isBuiltIn` and authorship are not inherited; the fork is a custom agent.
        '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: Creating a workspace-wide agent requires owner or admin access. Creating a project-scoped agent requires `manage` access to that project. Client collaborators cannot create agents.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No such agent in this workspace — or no such project to scope it to.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Another agent in this scope already holds that name, or the scope already has an intake agent — there is exactly one per scope.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The fork could not be written.
      summary: Fork an agent into a new custom one
      tags:
      - Agents
components:
  schemas:
    ApiError:
      additionalProperties: {}
      properties:
        error:
          type: string
      required:
      - error
      type: object
    AgentAvatarImage:
      properties:
        url:
          type: string
      required:
      - url
      type: object
    Role:
      properties:
        description:
          type: string
        key:
          type: string
        name:
          type: string
      required:
      - key
      - name
      - description
      type: object
    ForkAgent:
      additionalProperties: false
      properties:
        instructions:
          anyOf:
          - maxLength: 20000
            type: string
          - type: 'null'
        name:
          maxLength: 120
          minLength: 1
          type: string
        projectId:
          type:
          - string
          - 'null'
      required:
      - name
      type: object
    CreateAgent:
      additionalProperties: false
      properties:
        avatarImageKey:
          anyOf:
          - maxLength: 300
            minLength: 1
            type: string
          - type: 'null'
        avatarKey:
          anyOf:
          - enum:
            - nucleus
            - strand
            - codon
            - pheno
            - proof
            - telo
            - script
            - bot
            - spark
            - orbit
            - sprout
            - echo
            - pixel
            type: string
          - type: 'null'
        avatarUrl:
          anyOf:
          - maxLength: 2000
            type: string
          - type: 'null'
        description:
          anyOf:
          - maxLength: 2000
            type: string
          - type: 'null'
        duty:
          enum:
          - executor
          - intake
          type: string
        instructions:
          anyOf:
          - maxLength: 20000
            type: string
          - type: 'null'
        modelOverride:
          anyOf:
          - maxLength: 200
            type: string
          - type: 'null'
        name:
          maxLength: 120
          minLength: 1
          type: string
        pipeline:
          enum:
          - default
          - full
          - docs
          - security
          - lint
          type: string
        projectId:
          type:
          - string
          - 'null'
        runtimeKind:
          anyOf:
          - enum:
            - claude-code
            - codex
            - opencode
            - goose
            - qwen-code
            - pi
            - hlix
            type: string
          - type: 'null'
        runtimeVersion:
          anyOf:
          - maxLength: 64
            type: string
          - type: 'null'
      required:
      - name
      type: object
    Agent:
      properties:
        avatarImageKey:
          type:
          - string
          - 'null'
        avatarKey:
          type:
          - string
          - 'null'
        avatarUrl:
          type:
          - string
          - 'null'
        contextOverlay: {}
        createdAt:
          type: string
        createdByUserId:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        duty:
          enum:
          - executor
          - intake
          type: string
        id:
          type: string
        instructions:
          type:
          - string
          - 'null'
        isActive:
          type: boolean
        modelOverride:
          type:
          - string
          - 'null'
        name:
          type: string
        organizationId:
          type: string
        pipeline:
          enum:
          - default
          - full
          - docs
          - security
          - lint
          type: string
        preRunHooks: {}
        projectId:
          type:
          - string
          - 'null'
        runtimeKind:
          anyOf:
          - enum:
            - claude-code
            - openai-agents
            - codex
            - aider
            - opencode
            - goose
            - qwen-code
            - pi
            - hlix
            type: string
          - type: 'null'
        runtimeVersion:
          type:
          - string
          - 'null'
        toolConfig: {}
        updatedAt:
          type: string
      required:
      - id
      - organizationId
      - projectId
      - name
      - description
      - runtimeKind
      - runtimeVersion
      - pipeline
      - duty
      - contextOverlay
      - toolConfig
      - preRunHooks
      - modelOverride
      - instructions
      - avatarUrl
      - avatarKey
      - avatarImageKey
      - createdByUserId
      - isActive
      - createdAt
      - updatedAt
      type: object
    GenerateAgentAvatar:
      additionalProperties: false
      properties:
        prompt:
          maxLength: 1000
          minLength: 1
          type: string
      required:
      - prompt
      type: object
    UpdateAgent:
      additionalProperties: false
      properties:
        avatarImageKey:
          anyOf:
          - maxLength: 300
            minLength: 1
            type: string
          - type: 'null'
        avatarKey:
          anyOf:
          - enum:
            - nucleus
            - strand
            - codon
            - pheno
            - proof
            - telo
            - script
            - bot
            - spark
            - orbit
            - sprout
            - echo
            - pixel
            type: string
          - type: 'null'
        avatarUrl:
          anyOf:
          - maxLength: 2000
            type: string
          - type: 'null'
        description:
          anyOf:
          - maxLength: 2000
            type: string
          - type: 'null'
        duty:
          enum:
          - executor
          - intake
          type: string
        instructions:
          anyOf:
          - maxLength: 20000
            type: string
          - type: 'null'
        modelOverride:
          anyOf:
          - maxLength: 200
            type: string
          - type: 'null'
        name:
          maxLength: 32
          minLength: 1
          type: string
        pipeline:
          enum:
          - default
          - full
          - docs
          - security
          - lint
          type: string
        projectId:
          type:
          - string
          - 'null'
        runtimeKind:
          anyOf:
          - enum:
            - claude-code
            - codex
            - opencode
            - goose
            - qwen-code
            - pi
            - hlix
            type: string
          - type: 'null'
        runtimeVersion:
          anyOf:
          - maxLength: 64
            type: string
          - type: 'null'
      type: object
    GeneratedAgentAvatar:
      properties:
        key:
          type: string
        url:
          type: string
      required:
      - url
      - key
      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
  parameters:
    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