canonical: https://jentic.com/apis/bettermode.com/bettermode

# Bettermode API

Jentic publishes the only available OpenAPI specification for Bettermode API, keeping it validated and agent-ready. Bettermode (formerly Tribe) is a community platform exposing a GraphQL API for building custom community apps, automating workflows, syncing data, and extending core functionality. Operations cover members, posts, spaces, analytics, authentication, and moderation. The spec exposes the GraphQL entry points along with eight pre-shaped mutation aliases for common actions such as creating draft posts, inviting members, casting votes, and reporting moderation issues.

## For AI agents

Run GraphQL queries and mutations against a Bettermode community to manage members, posts, spaces, votes, and moderation reports.

## Scope

Does not handle email or SMS delivery, video conferencing, or marketing automation - use for Bettermode community member, post, space, and moderation operations only.

## Capabilities

- Run arbitrary GraphQL queries and mutations against a Bettermode network
- Authenticate against a network using app or member access tokens
- Create draft posts and invite members into a community
- Add members to specific spaces and manage space membership
- Add reactions, cast votes, and create tags on posts
- File moderation reports against community content

## Use cases

### Community Member Onboarding

Automate onboarding when a user signs up for a SaaS product by inviting them into the community and adding them to onboarding-specific spaces. `/graphql/inviteMembers` handles the invitation and `/graphql/addSpaceMembers` wires them into the right spaces. End-to-end automation against a sign-up webhook is typically 1 day of work.

Example prompt: On a new user webhook, POST `/graphql/inviteMembers` with the email, then POST `/graphql/addSpaceMembers` to attach them to the welcome space

### Editorial Posting Pipeline

Push articles or announcements from a CMS or marketing tool into Bettermode as draft posts ready for an editor to publish. `/graphql/createDraftPost` takes the title, body, and target space and returns the draft id, while tagging through `/graphql/createTag` keeps content organised. A baseline integration is typically half a day to a day.

Example prompt: POST `/graphql/createDraftPost` with the article title, body, and target space id, then POST `/graphql/createTag` for any new content tags

### Moderation and Engagement Bots

Build a moderation bot that escalates flagged content via `/graphql/createModerationReport` and an engagement bot that reacts or votes on highlight posts via `/graphql/addReaction` and `/graphql/castVote.` The shared /graphql endpoint can run any other query needed for context, such as fetching post detail before deciding to escalate.

Example prompt: When a post matches a moderation rule, POST `/graphql/createModerationReport` with the post id and reason, then POST /graphql with a query to fetch the post for the audit log

### AI Agent for Community Operations

An AI agent uses Jentic to discover Bettermode operations and automate community admin: inviting registrants, drafting weekly digest posts, or running moderation checks. The agent searches by intent, loads the operation schema, and executes against the GraphQL endpoint without learning the schema by hand. Through Jentic, integration takes under an hour.

Example prompt: Search Jentic for 'create bettermode draft post' and execute `/graphql/createDraftPost` with the weekly digest content for the announcements space

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/graphql` | Run any GraphQL query or mutation |
| POST | `/graphql/loginNetwork` | Authenticate against a network and obtain a token |
| POST | `/graphql/createDraftPost` | Create a draft post in a space |
| POST | `/graphql/inviteMembers` | Invite new members to the community |
| POST | `/graphql/addSpaceMembers` | Add members to a specific space |
| POST | `/graphql/addReaction` | React to a post |
| POST | `/graphql/castVote` | Cast a vote on a poll |
| POST | `/graphql/createModerationReport` | File a moderation report |

## Key resources

- **GraphQL** — General-purpose GraphQL endpoint for any query or mutation supported by the network
- **Member GraphQL** — Member-scoped GraphQL endpoint authenticated as a community member
- **Authentication** — Network login for issuing app or member access tokens
- **Posts** — Pre-shaped operations for creating draft posts, adding reactions, votes, and tags
- **Members** — Invitation and space membership operations
- **Moderation** — Create moderation reports against community content

## Why Jentic

- **Setup:** Wiring the Bettermode API by hand means driving everything through a single GraphQL endpoint, obtaining a network login token, and shaping each mutation and query yourself against the bearer scheme. Through Jentic you install once, import Bettermode from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Bettermode routes every request through one POST /graphql operation, so scope the agent to the operations it needs, such as creating a draft post or inviting members, and leave out ones like moderation reporting unless you add them. You choose which operations it may call rather than pinning it to a single community object.
- **Credential handling:** Your Bettermode access 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 'create a Bettermode draft post' or 'invite members to a community', and Jentic returns the matching Bettermode operation with its input schema so the agent calls the right mutation without browsing the reference docs.

## Related APIs

- **Discourse API** — Open-source forum platform with a REST API as an alternative to Bettermode communities
- **Slack API** — Internal team chat to mirror or escalate Bettermode community activity
- **Circle API** — Hosted community platform similar to Bettermode with REST endpoints

## FAQ

### Why is there no official OpenAPI spec for Bettermode API?

Bettermode publishes a GraphQL schema rather than an OpenAPI specification. Jentic generates and maintains this OpenAPI spec so that AI agents and developers can call Bettermode API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Bettermode API use?

Bettermode uses HTTP Bearer authentication carrying a JWT app access token or member access token in the Authorization header. Tokens are issued via POST `/graphql/loginNetwork.` When called via Jentic, tokens are stored encrypted in your Jentic One instance and injected at execution time so they never enter the agent's context.

### Can I run arbitrary GraphQL queries through this API?

Yes. POST /graphql accepts any query or mutation supported by the Bettermode schema, while POST `/graphql/member` runs the same in a member-scoped context. The other /graphql/<operation> endpoints are pre-shaped wrappers for common mutations such as createDraftPost or addReaction.

### How do I invite members through Jentic?

Run pip install jentic and search for 'invite members to bettermode community'. Jentic returns POST `/graphql/inviteMembers`, the agent loads the input schema, and executes with the email list and target role. Pair with `/graphql/addSpaceMembers` to land them in the right spaces.

### What rate limits apply to the Bettermode API?

Bettermode applies per-token rate limits on the GraphQL endpoint that vary by plan. The OpenAPI spec does not encode these explicitly, so handle 429 responses with backoff and prefer the pre-shaped mutation aliases over composing many round-trips through /graphql when running bulk operations.

### Is the Bettermode API free?

Bettermode is a paid community platform with multiple subscription tiers; API access is included with paid plans. There is no separate API charge, but call volume must stay within plan-specific quotas. Pricing tiers are available on bettermode.com.

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

Yes. Because Jentic One is self-hosted by you, your own rules decide which Bettermode operations the agent may call and which credentials it can use, even though every request goes through the single POST /graphql endpoint. You can scope the agent to just the operations it needs, such as POST `/graphql/createDraftPost` or POST `/graphql/inviteMembers`, and leave out others like POST `/graphql/createModerationReport` unless you explicitly add them. The access token is injected at execution time by your instance, so the agent only ever exercises the operations you have permitted.
