Opal Activities API

## Activities Overview In Opal, "activities" encompass both things like someone adding an asset to content and also someone sending a chat message. In the user interface, these are called "Chat & Activity" but the underlying resource is always an `activity` record. This API currently supports _retrieving_ all types of activity (see the `activity_types` endpoint to retrieve a list of supported types). It only supports _creating_ chat activity. ## Checkpoints The `checkpoints` endpoints are how activities get marked as read for users. The idea is that any activity older than the most recent checkpoint has been seen by the user. ## User @mentions User mentions are represented in the plaintext body of activity messages. You can create them (or interpret them) using the following syntax: ``` @[{{user name}}](user:{{user_id}}) ``` The double-bracketed `{{user name}}` should be replaced with the user's full name (not their "username" or email) and `{{user_id}}` should be replaced with the user's _integer_ id value (not a UUID). Do not use quotation marks or spaces (except between the parts of a user's name). For example, `[John Doe](user:1234)`.

Operations 5

GET /activities/v1/{entity_type}/activity_types Returns a list of possible activity types for a given object, as specified by… #
GET /activities/v1/{entity_type}/{entity_id} Returns all activities for a given object, as specified by the entity_type… #
POST /activities/v1/{entity_type}/{entity_id} Create an activity for a given moment or piece of content #
GET /activities/v1/{entity_type}/{entity_id}/checkpoint Returns latest checkpoint for a given entity and user #
POST /activities/v1/{entity_type}/{entity_id}/checkpoint Create a checkpoint for a give entity #

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/opal-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 Specification

opal-activities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Opal Activities API
  license:
    name: Opal API License
    url: https://www.workwithopal.com/api-license
  description: The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
servers:
- url: https://login.ouropal.com
tags:


# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opal/refs/heads/main/openapi/opal-activities-api-openapi.yml