Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the Key Result. |
| goal_id | string | The Goal ID this Key Result belongs to. |
| name | string | The name of the Key Result. |
| creator | integer | The user ID of the Key Result creator. |
| type | string | The type of the Key Result target. |
| date_created | string | Unix timestamp when the Key Result was created. |
| goal_pretty_id | string | The human-readable ID of the parent Goal. |
| percent_completed | integer | The completion percentage of the Key Result. |
| completed | boolean | Whether the Key Result is completed. |
| task_ids | array | Task IDs linked to this Key Result for automatic tracking. |
| list_ids | array | List IDs linked to this Key Result for automatic tracking. |
| owners | array | Owners of the Key Result. |
| steps_start | number | The starting value of the Key Result. |
| steps_end | number | The target end value of the Key Result. |
| steps_current | number | The current value of the Key Result. |
| unit | string | The unit of measurement for currency type Key Results. |
| last_action | object | Details of the last action performed on the Key Result. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/KeyResult",
"title": "KeyResult",
"type": "object",
"description": "A Key Result (target) within a Goal.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the Key Result."
},
"goal_id": {
"type": "string",
"description": "The Goal ID this Key Result belongs to."
},
"name": {
"type": "string",
"description": "The name of the Key Result."
},
"creator": {
"type": "integer",
"description": "The user ID of the Key Result creator."
},
"type": {
"type": "string",
"enum": [
"number",
"currency",
"boolean",
"percentage",
"automatic"
],
"description": "The type of the Key Result target."
},
"date_created": {
"type": "string",
"description": "Unix timestamp when the Key Result was created."
},
"goal_pretty_id": {
"type": "string",
"description": "The human-readable ID of the parent Goal."
},
"percent_completed": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "The completion percentage of the Key Result."
},
"completed": {
"type": "boolean",
"description": "Whether the Key Result is completed."
},
"task_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Task IDs linked to this Key Result for automatic tracking."
},
"list_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "List IDs linked to this Key Result for automatic tracking."
},
"owners": {
"type": "array",
"items": {
"type": "object"
},
"description": "Owners of the Key Result."
},
"steps_start": {
"type": "number",
"description": "The starting value of the Key Result."
},
"steps_end": {
"type": "number",
"description": "The target end value of the Key Result."
},
"steps_current": {
"type": "number",
"description": "The current value of the Key Result."
},
"unit": {
"type": "string",
"description": "The unit of measurement for currency type Key Results."
},
"last_action": {
"type": "object",
"description": "Details of the last action performed on the Key Result."
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/clickup-keyresult"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.