Kili Technology

Kili Technology is a training-data and data-labeling platform for building high-quality datasets for machine learning and LLMs. Its labeling application is fully programmable through a single GraphQL API (and a Python SDK) covering projects, assets, labels, issues, and users at https://cloud.kili-technology.com/api/label/v2/graphql.

Kili Technology publishes 5 APIs on the APIs.io network, including Projects API, Assets API, Labels API, and 2 more. Tagged areas include AI, Data Labeling, Training Data, Annotation, and GraphQL.

The Kili Technology catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.

Kili Technology’s developer surface includes authentication, documentation, engineering blog, and 9 more developer resources.

50.8/100 developing ▬ flat Agent 54/100 agent ready Full breakdown ↓
scored 2026-07-21 · rubric v0.4
5 APIs 0 Features
AIData LabelingTraining DataAnnotationGraphQL

API Rating

API Evangelist API Evangelist Rating How this is scored →
scored 2026-07-21 · rubric v0.4
Composite quality — 50.8/100 · developing
Contract Quality 18.2 / 25
Developer Ergonomics 4.3 / 20
Commercial Clarity 9.5 / 20
Operational Transparency 4.8 / 13
Governance 7.3 / 12
Discoverability 6.8 / 10
Agent readiness — 54/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/kili-technology: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs

Kili Technology Projects API

Create, read, update, copy, and count annotation projects via the GraphQL fields projects, countProjects, createProject, copyProject, and updatePropertiesInProject, including jo...

Kili Technology Assets API

Import and manage data to annotate (images, text, documents, video, geospatial) via assets, countAssets, and appendManyAssets, with external-id filtering and project scoping.

Kili Technology Labels API

Create, append, count, export, and copy annotation labels and predictions via labels, countLabels, appendManyLabels, appendToLabels, createHoneypot, and copyLabels, plus a label...

Kili Technology Issues API

Create, count, list, and resolve review issues and questions on assets and labels via createIssues, countIssues, issues, and updatePropertiesInIssue for quality workflows.

Kili Technology Users API

Manage organization users and the current viewer via users, countUsers, viewer (me), createUser, updatePropertiesInUser, and password reset mutations.

Collections

GraphQL

Kili Technology GraphQL API

GraphQL interface for the [Kili Technology](https://kili-technology.com) training-data and

GRAPHQL

Pricing Plans

Rate Limits

Kili Technology Rate Limits

3 limits

RATE LIMITS

FinOps

Event Specifications

Kili Technology Label Subscription (GraphQL over WebSocket)

AsyncAPI 2.6 description of Kili Technology's **GraphQL subscription** surface. Kili's labeling application is served from a single GraphQL endpoint at `https://cloud.kili-techn...

ASYNCAPI

API Governance Rules

Kili Technology API Rules

5 rules · 1 errors 3 warnings 1 info

SPECTRAL

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Kili Technology GraphQL API
  version: '2.0'
  description: 'Single GraphQL endpoint for the Kili Technology data-labeling platform: projects, assets, labels, issues,
    and users.'
request:
  auth:
    type: apikey
    key: Authorization
    value: 'X-API-Key: {{kiliApiKey}}'
    in: header
items:
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: List Projects
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query projects($where: ProjectWhere!, $first: PageSize!, $skip: Int!) { data: projects(where: $where,
          first: $first, skip: $skip) { id title numberOfAssets } }","variables":{"where":{"id":"{{projectId}}"},"first":10,"skip":0}}'
    docs: 'List annotation projects. GraphQL query: projects.'
  - info:
      name: Create Project
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"mutation($data: CreateProjectData!) { data: createProject(data: $data) { id } }","variables":{"data":{"title":"My
          labeling project","inputType":"IMAGE","jsonInterface":"{\"jobs\": {}}"}}}'
    docs: 'Create a new annotation project. GraphQL mutation: createProject.'
- info:
    name: Assets
    type: folder
  items:
  - info:
      name: Count Assets
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query countAssets($where: AssetWhere!) { data: countAssets(where: $where) }","variables":{"where":{"project":{"id":"{{projectId}}"}}}}'
    docs: 'Count assets in a project. GraphQL query: countAssets.'
  - info:
      name: Append Many Assets
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"mutation appendManyAssets($data: AppendManyAssetsData!, $where: ProjectWhere!) { data: appendManyAssets(data:
          $data, where: $where) { id } }","variables":{"data":{"contentArray":["https://example.com/image.jpg"],"externalIdArray":["image-1"]},"where":{"id":"{{projectId}}"}}}'
    docs: 'Import assets into a project. GraphQL mutation: appendManyAssets.'
- info:
    name: Labels
    type: folder
  items:
  - info:
      name: List Labels
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query labels($where: LabelWhere!, $first: PageSize!, $skip: Int!) { data: labels(where: $where, first:
          $first, skip: $skip) { id labelType jsonResponse createdAt author { email } labelOf { id } } }","variables":{"where":{"project":{"id":"{{projectId}}"}},"first":100,"skip":0}}'
    docs: 'List labels for a project. GraphQL query: labels.'
  - info:
      name: Append Many Labels
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"mutation appendManyLabels($data: AppendManyLabelsData!, $where: AssetWhere!) { data: appendManyLabels(data:
          $data, where: $where) { id } }","variables":{"data":{"labelType":"DEFAULT","jsonResponseArray":["{}"]},"where":{"id":"{{assetId}}"}}}'
    docs: 'Add labels to an asset. GraphQL mutation: appendManyLabels.'
- info:
    name: Issues
    type: folder
  items:
  - info:
      name: Count Issues
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query countIssues($where: IssueWhere!) { data: countIssues(where: $where) }","variables":{"where":{"project":{"id":"{{projectId}}"}}}}'
    docs: 'Count review issues in a project. GraphQL query: countIssues.'
  - info:
      name: Create Issues
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"mutation createIssues($issues: [IssueToCreate!]!, $where: AssetWhere!) { data: createIssues(issues:
          $issues, where: $where) { id } }","variables":{"issues":[{"text":"Please review this annotation","type":"QUESTION"}],"where":{"id":"{{assetId}}"}}}'
    docs: 'Create review issues or questions on an asset. GraphQL mutation: createIssues.'
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Current User (viewer)
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query me { data: viewer { id email firstname lastname } }"}'
    docs: 'Fetch the current authenticated user. GraphQL query: viewer.'
  - info:
      name: List Users
      type: http
    http:
      method: POST
      url: https://cloud.kili-technology.com/api/label/v2/graphql
      headers:
      - key: Content-Type
        value: application/json
      - key: Accept
        value: application/json
      body:
        type: json
        data: '{"query":"query users($where: UserWhere!, $first: PageSize!, $skip: Int!) { data: users(where: $where, first:
          $first, skip: $skip) { id email firstname lastname } }","variables":{"where":{},"first":10,"skip":0}}'
    docs: 'List organization users. GraphQL query: users.'