canonical: https://jentic.com/apis/orbit.love/orbit-love-orbit-api

# Orbit Love Orbit API

The Orbit API exposes workspaces, members, activities, organizations, notes, reports, and webhooks for community-led teams operating across GitHub, Discord, Slack, and other channels. Integrations use it to push activities from external sources, look up members by source identity, and pull engagement data into BI or CRM systems. Authentication is Bearer-only and every collection endpoint is scoped to a workspace_slug, which keeps multi-workspace accounts cleanly isolated.

## For AI agents

Manage Orbit workspace members, activities, organizations, notes, and webhooks via Bearer-authenticated REST calls.

## Scope

Does not handle direct messaging, native channel moderation, or live event hosting - use for Orbit member, activity, and engagement data only.

## Capabilities

- Create and update Orbit members across multiple identity sources
- Resolve a member from a GitHub, Discord, or email identity
- Record activities of any defined type against a member
- Manage activity types used to label community events
- Attach notes to members and organizations for context handoff
- Subscribe webhooks to forward member and activity events to other systems

## Use cases

### Source-of-Truth Member Sync

Treat Orbit as the source of truth for community members and replicate the member graph into a CRM or warehouse. The `/workspaces/{workspace_slug}/members` endpoints expose paginated reads and the `/members/find` endpoint resolves cross-source identities, so a sync job can keep the downstream system aligned with Orbit.

Example prompt: Page through GET /{workspace_slug}/members and upsert each record into the warehouse keyed by Orbit member id

### Activity Webhooks for Real-Time Reactions

Subscribe to Orbit's webhook events to trigger real-time reactions when members hit milestones - first contribution, returning after dormancy, posting in a key channel. The webhooks endpoints register subscriptions that forward events to any HTTPS URL, keeping the reaction logic outside Orbit itself.

Example prompt: POST /{workspace_slug}/webhooks with a target URL, then handle incoming activity-created events to trigger Slack alerts

### Organization-Level Account Mapping

Link Orbit organizations to CRM accounts so sales reps can see which active community members belong to which target accounts. The organizations endpoints return company records and member affiliations that can be joined to a CRM company id for account-based reporting.

Example prompt: GET /{workspace_slug}/organizations and join the resulting list with CRM accounts on company domain

### Custom Activity Types for Internal Channels

Define activity types for tools Orbit does not natively support - internal Slack workflows, training platforms, customer events - so the love score reflects the full member journey. The activity_types endpoints manage these definitions and the activities endpoints record the events themselves.

Example prompt: POST a new activity_type for 'training-completed', then POST an activity of that type when a member finishes a course

### Agent-Driven Community Workflow via Jentic

An AI assistant for community managers can resolve a person's Orbit profile, record an activity, and post a note in one workflow. Jentic resolves natural-language intents like 'log a Discord reply for this member' to the right workspace-scoped endpoint without exposing the Bearer token to the model.

Example prompt: Search Jentic for 'find an Orbit member by email and add a note', load the matching operations, and execute in sequence

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/{workspace_slug}/members` | List members in a workspace |
| GET | `/{workspace_slug}/members/find` | Find a member by source identity |
| GET | `/{workspace_slug}/activities` | List activities in a workspace |
| GET | `/{workspace_slug}/activity_types` | List activity types |
| GET | `/workspaces` | List accessible workspaces |
| GET | `/workspaces/{workspace_slug}` | Retrieve a workspace |

## Key resources

- **Workspaces** — Top-level scope for every other resource
- **Members** — Community members with identities across sources
- **Activities** — Events recorded against members
- **Activity Types** — Categories for activities
- **Organizations** — Companies linked to members
- **Notes** — Free-text notes on members or organizations
- **Reports** — Aggregated workspace metrics
- **Webhooks** — Outbound event subscriptions

## Why Jentic

- **Setup:** Wiring the Orbit API by hand means setting up its bearer auth and threading your workspace_slug through every path yourself. Through Jentic you install once, import Orbit from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Orbit puts the workspace_slug in the URL path (/{workspace_slug}/members, /{workspace_slug}/activities), so a rule can pin your agent to one workspace: it can list members and activities there and nothing else. You choose the operations it may call, so anything beyond that workspace stays out unless you add it.
- **Credential handling:** Your Orbit bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find an Orbit member' or 'list workspace activities', and Jentic returns the matching workspace-scoped Orbit operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Discourse API** — Forum platform Orbit commonly ingests activity from for community engagement scoring
- **Circle.so API** — All-in-one community platform with hosted spaces, events, and member profiles
- **inSided Community API** — Customer-success community platform with native engagement and Q&A modules

## FAQ

### What authentication does the Orbit API use?

HTTP Bearer authentication. Tokens are generated inside Orbit and scoped to a workspace, so calls must use the workspace_slug the token was created under. Through Jentic the Bearer token is stored encrypted in the vault and the agent receives a scoped session, never the raw token.

### How do I subscribe to Orbit events as webhooks?

POST a webhook definition to /{workspace_slug}/webhooks with a target URL and the events you want forwarded. Orbit then delivers JSON payloads to the URL whenever those events fire - for example new member created or new activity recorded.

### Can I create custom activity types for events Orbit does not natively track?

Yes. Use /{workspace_slug}/activity_types to define a new type - for example 'training-completed' or 'webinar-attended' - then post activities of that type via /{workspace_slug}/activities. The love score and member timeline include those custom activities.

### Why is workspace_slug required on every collection endpoint?

Orbit accounts can hold many workspaces and the API enforces isolation at the URL level. Every list and search endpoint scopes its results to the workspace named in the path, which means cross-workspace queries require multiple calls.

### How do I find an Orbit member by email through Jentic?

Install the SDK with pip install jentic, then search Jentic for 'find an Orbit member by email'. Jentic returns the GET /{workspace_slug}/members/find operation with its schema; load it, supply the email and source, and execute. Run it through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the Orbit API?

Yes. Because Jentic One is self-hosted, your own rules decide which Orbit operations the agent may call, so you can allow it to list members and activities but block webhook or note writes. Since Orbit puts the workspace_slug in the URL path, such as /{workspace_slug}/members and /{workspace_slug}/activities, you can pin the agent to a single workspace and keep every other workspace out of reach. The bearer token is injected by your instance at execution time and never enters the agent's prompt or context, so it only ever acts within the operations and workspace you permit.
