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/clarify:clarify-activities-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: 3.2.0
info:
title: Clarify Activities API
description: The Clarify API OpenAPI documentation
version: '0.1'
contact: {}
servers:
- url: https://api.clarify.ai/v1
security:
- apiKey: []
tags:
- name: Activities
paths:
/workspaces/{workspace}/objects/{object}/records/{record}/activities:
get:
description: 'Returns the activity feed for a record: a paginated, reverse-chronological list of change events (field updates, comments, relationship changes) grouped into activities. Each activity bundles one or more related events. `meta.total_records` can be a lower bound, so follow `links.next` to page.'
operationId: getActivities
parameters:
- name: workspace
required: true
in: path
description: The workspace slug — the `{slug}` segment of your Clarify workspace URL.
schema:
type: string
- name: object
required: true
in: path
description: 'The object type: a built-in entity (`person`, `company`, `deal`, …) or a custom object (`c_*`).'
schema:
type: string
- name: record
required: true
in: path
description: The unique ID of the record.
schema:
type: string
- name: page
required: false
in: query
description: Offset pagination, e.g. `page[offset]=0&page[limit]=100`.
schema:
properties:
offset:
default: 0
type: number
minimum: 0
description: The number of records to skip before the first result.
required: false
limit:
default: 500
type: number
minimum: 1
maximum: 500
description: The maximum number of records to return per page (up to 500).
required: false
default:
offset: 0
limit: 500
type: object
- name: sortOrder
required: false
in: query
description: Sort order, e.g. `sortOrder[column]=_created_at&sortOrder[dir]=DESC`.
schema:
properties:
column:
description: The field name to sort by.
type: string
minLength: 1
required: true
dir:
type: string
enum:
- ASC
- DESC
description: The sort direction.
required: true
type: object
responses:
'200':
description: The record’s activity feed.
content:
application/json:
schema:
$ref: '#/components/schemas/ListOfActivitiesResponse'
example:
links:
next: null
prev: null
meta:
total_records: 1
total_pages: 1
offset: 0
limit: 500
data:
- type: activity
id: f2c8e4a1-6b9d-4e7f-8a3c-0d5b2f7e1a94
attributes:
_id: f2c8e4a1-6b9d-4e7f-8a3c-0d5b2f7e1a94
_created_at: '2026-02-01T17:45:00.000Z'
aggKey: person:5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71:clarify:update
data:
- _id: b4f1a7c2-8d3e-4f6a-9b2c-1e5d7a3f9c40
_created_at: '2026-02-01T17:45:00.000Z'
type: clarify:update
actor:
_id: 7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81
anonymous_id: null
entity: user
source_id: null
object:
_id: 5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71
anonymous_id: null
entity: person
diff:
- op: update
path:
- job_title
val: VP of Marketing
oldVal: Director of Marketing
summary: List record activities
tags:
- Activities
components:
schemas:
ListOfActivitiesResponse:
type: object
properties:
links:
type: object
properties:
next:
type: string
nullable: true
description: URL of the next page, or `null` on the last page.
prev:
type: string
nullable: true
description: URL of the previous page, or `null` on the first page.
required:
- next
- prev
description: Pagination links.
meta:
type: object
properties:
total_records:
type: number
description: Total number of records across all pages.
total_pages:
type: number
description: Total number of pages at the current page size.
required:
- total_records
- total_pages
description: Pagination metadata.
data:
type: array
items:
type: object
properties:
type:
type: string
enum:
- activity
description: The resource type; matches the `object` path parameter.
id:
type: string
description: The unique ID of the resource.
attributes:
type: object
properties:
_id:
type: string
description: The ID of the earliest event in the grouped activity.
_created_at:
type: string
format: date-time
description: The time the earliest event in the group was created.
aggKey:
type: string
description: The key the events were grouped by, combining the record and change type.
data:
type: array
items:
type: object
properties:
_id:
type: string
minLength: 1
description: The unique ID of the event.
_created_at:
type: string
format: date-time
description: When the event occurred.
type:
type: string
enum:
- clarify:create
- ClarifyCreate
- clarify:update
- ClarifyUpdate
- clarify:merge
- ClarifyMerge
- clarify:delete
- ClarifyDelete
- clarify:add-to-list
- ClarifyAddToList
- clarify:remove-from-list
- ClarifyRemoveFromList
- clarify:set-relationship
- ClarifySetRelationship
- clarify:unset-relationship
- ClarifyUnsetRelationship
- clarify:grant-access
- ClarifyGrantAccess
- clarify:update-access
- ClarifyUpdateAccess
- clarify:revoke-access
- ClarifyRevokeAccess
- clarify:access-request-created
- ClarifyAccessRequestCreated
- clarify:access-request-decided
- ClarifyAccessRequestDecided
- clarify:meeting
- ClarifyMeeting
description: The kind of change the event represents.
actor:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
source_id:
type: string
nullable: true
description: The identifier of the source that produced the event (e.g. an integration), or `null`.
required:
- _id
- anonymous_id
- entity
- source_id
description: Who or what triggered the change.
object:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
required:
- _id
- anonymous_id
- entity
description: The record the change was applied to; may be absent on partial stored events.
relationship:
type: string
description: The relationship field involved, for relationship-change events.
ref:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
required:
- _id
- anonymous_id
- entity
description: The related record referenced by the change, for relationship events.
refs:
type: array
items:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
required:
- _id
- anonymous_id
- entity
description: The related records referenced by the change, for relationship events.
origin:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
required:
- _id
- anonymous_id
- entity
description: The origin record, for merge events.
target:
type: object
properties:
_id:
type: string
nullable: true
description: The ID of the record this item refers to, or `null` if anonymous.
anonymous_id:
type: string
nullable: true
description: The anonymous identifier for the item when no record ID is known, or `null`.
entity:
type: string
description: The object type of the item, e.g. `person`.
data:
type: object
additionalProperties: {}
description: A snapshot of the item’s field values at the time of the event.
diff:
type: array
items:
type: object
properties:
op:
type: string
enum:
- add
- update
- delete
description: 'The kind of change: `add`, `update`, or `delete`.'
path:
type: array
items:
oneOf:
- type: string
- type: number
description: The path to the changed field within the record, as a list of keys and array indices.
val:
description: The new value at the path.
oldVal:
description: The previous value at the path, if the change replaced an existing value.
required:
- op
- path
description: The list of field-level changes the event applied to the item.
required:
- _id
- anonymous_id
- entity
description: The target record, for merge events.
required:
- _id
- _created_at
- type
- actor
description: The change events that make up this activity.
required:
- _id
- _created_at
- aggKey
- data
description: Field values keyed by field name; available fields depend on the object’s schema.
relationships:
type: object
properties: {}
description: Related resources keyed by relationship name, present when requested via `include`.
required:
- type
- id
- attributes
description: The page of resources.
required:
- links
- meta
- data
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: 'API key authentication. Send your key in the Authorization header as: `api-key <your-api-key>`.'
bearer:
type: http
scheme: bearer
description: 'User access token authentication for endpoints that act across workspaces. Send a WorkOS access token in the Authorization header as: `Bearer <token>`.'