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/lattice-goals-api"
All apis
curl "https://apis.io/api/v1/apis?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.
OpenAPI Specification
openapi: 3.2.0
info:
title: Lattice Talent Goals API
description: REST API for Lattice's Talent product suite covering users, departments, goals, OKRs, performance review cycles, reviewees, reviews, continuous feedback, competencies, and tags. Uses cursor-based pagination and Bearer token authentication.
version: v1
contact:
name: Lattice Developer Support
email: customercare@lattice.com
url: https://developers.lattice.com
termsOfService: https://lattice.com/legal/terms-of-service
license:
name: Proprietary
url: https://lattice.com/legal/terms-of-service
servers:
- url: https://api.latticehq.com/v1
description: Lattice Talent API v1 production server
security:
- BearerAuth: []
tags:
- name: Goals
description: Create, read, and update goals and OKRs
paths:
/goals:
get:
summary: List goals
operationId: listGoals
tags:
- Goals
description: Returns a paginated list of goals in Lattice.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/startingAfter'
- name: state
in: query
required: false
schema:
$ref: '#/components/schemas/GoalStateEnum'
description: Filter by goal state
responses:
'200':
description: Paginated list of goals
content:
application/json:
schema:
$ref: '#/components/schemas/GoalList'
'400':
$ref: '#/components/responses/BadRequest'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/ServerError'
post:
summary: Create goal
operationId: createGoal
tags:
- Goals
description: Creates a new goal in Lattice.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GoalCreate'
responses:
'200':
description: Created goal object
content:
application/json:
schema:
$ref: '#/components/schemas/Goal'
'400':
$ref: '#/components/responses/BadRequest'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/ServerError'
/goal/{id}:
get:
summary: Get goal by ID
operationId: getGoal
tags:
- Goals
description: Returns a goal with the given id. If cannot find goal, returns a 404.
parameters:
- name: id
in: path
required: true
schema:
type: string
description: The goal identifier
responses:
'200':
description: Goal object
content:
application/json:
schema:
$ref: '#/components/schemas/Goal'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/ServerError'
/goals/{id}:
put:
summary: Update goal
operationId: updateGoal
tags:
- Goals
description: Updates an existing goal with the provided information.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: The unique identifier of the goal to update
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GoalUpdate'
responses:
'200':
description: Updated goal object
content:
application/json:
schema:
$ref: '#/components/schemas/Goal'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/ServerError'
/user/{id}/goals:
get:
summary: List goals for a user
operationId: listUserGoals
tags:
- Goals
description: Returns a paginated list of goals for a specific user.
parameters:
- name: id
in: path
required: true
schema:
type: string
description: The user identifier
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/startingAfter'
responses:
'200':
description: Paginated list of goals
content:
application/json:
schema:
$ref: '#/components/schemas/GoalList'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/ServerError'
components:
schemas:
AmountTypeEnum:
type: string
enum:
- Percent
- Dollar
- Digit
- Binary
GoalList:
allOf:
- $ref: '#/components/schemas/PaginatedList'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Goal'
required:
- data
OkrTypeEnum:
type: string
enum:
- objective
- key_result
GoalStatusEnum:
type: string
enum:
- NotUpdated
- OnTrack
- Progressing
- OffTrack
Goal:
type: object
properties:
id:
type: string
object:
type: string
url:
type: string
name:
type: string
description:
type:
- string
- 'null'
description: Markdown-formatted description
state:
$ref: '#/components/schemas/GoalStateEnum'
status:
$ref: '#/components/schemas/GoalStatusEnum'
goalType:
$ref: '#/components/schemas/GoalTypeEnum'
okrType:
$ref: '#/components/schemas/OkrTypeEnum'
isPrivate:
type: boolean
priority:
type:
- integer
- 'null'
amountType:
$ref: '#/components/schemas/AmountTypeEnum'
startingAmount:
type:
- number
- 'null'
format: float
endingAmount:
type:
- number
- 'null'
format: float
currentAmount:
type:
- number
- 'null'
format: float
startDate:
type:
- string
- 'null'
format: date
dueDate:
type:
- string
- 'null'
format: date
createdAt:
type: integer
description: Unix timestamp
updatedAt:
type: integer
description: Unix timestamp
publishedAt:
type:
- integer
- 'null'
description: Unix timestamp
completedAt:
type:
- integer
- 'null'
description: Unix timestamp
archivedAt:
type:
- integer
- 'null'
description: Unix timestamp
owners:
$ref: '#/components/schemas/ListReference'
department:
$ref: '#/components/schemas/ObjectReference'
parentGoal:
$ref: '#/components/schemas/ObjectReference'
childGoals:
$ref: '#/components/schemas/ListReference'
tags:
$ref: '#/components/schemas/ListReference'
required:
- id
- object
- url
- name
- state
- status
- goalType
- okrType
- isPrivate
- owners
- childGoals
- tags
- createdAt
- updatedAt
GoalCreate:
type: object
properties:
name:
type: string
startDate:
type: string
format: date
dueDate:
type: string
format: date
ownerIds:
type: array
items:
type: string
format: uuid
minItems: 1
description:
type: string
priority:
type: number
minimum: 1
maximum: 10
private:
type: boolean
default: false
okrType:
$ref: '#/components/schemas/OkrTypeEnum'
amountType:
type:
- string
- 'null'
enum:
- percent
- dollar
- digit
- binary
startingAmount:
type:
- number
- 'null'
goalAmount:
type:
- number
- 'null'
companyGoal:
type: boolean
default: false
departmentId:
type:
- string
- 'null'
format: uuid
departmentsVisibleToIds:
type: array
items:
type: string
format: uuid
goalCycleId:
type:
- string
- 'null'
format: uuid
tagNames:
type: array
items:
type: string
maxItems: 5
isDraft:
type: boolean
default: false
parentId:
type:
- string
- 'null'
format: uuid
required:
- name
- startDate
- dueDate
- ownerIds
GoalTypeEnum:
type: string
enum:
- Company
- Department
- Group
- Individual
GoalUpdate:
allOf:
- $ref: '#/components/schemas/GoalCreate'
- type: object
properties:
name:
type: string
description:
type: string
startDate:
type: string
format: date
dueDate:
type: string
format: date
priority:
type: number
minimum: 1
maximum: 10
private:
type: boolean
ownerIds:
type: array
items:
type: string
format: uuid
minItems: 1
okrType:
$ref: '#/components/schemas/OkrTypeEnum'
amountType:
type:
- string
- 'null'
enum:
- percent
- dollar
- digit
- binary
startingAmount:
type:
- number
- 'null'
goalAmount:
type:
- number
- 'null'
companyGoal:
type: boolean
departmentId:
type:
- string
- 'null'
format: uuid
departmentsVisibleToIds:
type: array
items:
type: string
format: uuid
goalCycleId:
type:
- string
- 'null'
format: uuid
tagNames:
type: array
items:
type: string
maxItems: 5
isDraft:
type: boolean
parentId:
type:
- string
- 'null'
format: uuid
required:
- name
- description
- startDate
- dueDate
- priority
- private
- ownerIds
- okrType
- amountType
- startingAmount
- goalAmount
- companyGoal
- departmentId
- departmentsVisibleToIds
- goalCycleId
- tagNames
- isDraft
- parentId
ListReference:
type: object
description: A reference to a paginated list of related objects
properties:
object:
type: string
enum:
- list
url:
type: string
required:
- object
- url
PaginatedList:
type: object
properties:
object:
type: string
enum:
- list
hasMore:
type: boolean
description: Whether or not there are more elements available after this set
endingCursor:
type:
- string
- 'null'
description: The cursor to use to get the next set of items in the list
required:
- object
- hasMore
GoalStateEnum:
type: string
enum:
- Draft
- Active
- Ended
- Archived
ObjectReference:
type: object
description: A lightweight reference to another Lattice object
properties:
id:
type: string
object:
type: string
url:
type: string
required:
- id
- object
- url
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message
required:
- error
responses:
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ServerError:
description: Server error while processing request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
UnprocessableEntity:
description: Unprocessable - request is syntactically valid but cannot be processed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Could not find the requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
parameters:
startingAfter:
name: startingAfter
in: query
required: false
schema:
type: string
description: Cursor for fetching the next page of results
limit:
name: limit
in: query
required: false
schema:
type: integer
format: int32
description: Maximum number of items to return per page
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'API key passed as a Bearer token in the Authorization header. Example: Authorization: Bearer <your-api-key>
'