canonical: https://jentic.com/apis/memberarea.io/memberarea

# MemberArea API

The MemberArea API runs a MemberArea's courses, members, and community over REST, scoped to the MemberArea that owns the key. It enrolls members in courses, marks lessons complete, builds lessons page by page from typed elements, and turns meeting recordings into lessons, while member records carry tags, custom field values, roles, bundle access, and one-time login links. The same surface covers community areas, forums, posts, comments, and badges, plus events with registration and check-in, orders and subscriptions, affiliate commissions, inbox tickets, datasets, automations, and REST-hook subscriptions for events such as order.paid and course.completed.

## For AI agents

Enroll MemberArea members in courses, track and mark lesson progress, manage member tags, roles, and bundle access, moderate community posts, register members for events, and subscribe to events like order.paid or course.completed.

## Scope

Does not process card payments, host video streaming, or send bulk marketing email campaigns. Use for running MemberArea courses, members, community, and events only.

## Capabilities

- Enroll a member in a course, mark individual lessons complete, and read each member's course progress
- Build course content by creating lessons in a module, adding pages and typed elements, and turning a meeting recording into a lesson
- Grant or revoke a member's bundle access, attach tags, assign roles, and set custom field values
- Issue a single-use login link that signs a member in and drops them on a chosen page
- Create community posts, reply with comments, and award badges to members
- Register members for events and check them in on the day
- Subscribe a target_url to events such as order.paid, member.signup, or course.completed through REST hooks

## Use cases

### Agent-run member onboarding through Jentic

When a sale lands, an agent onboards the buyer inside MemberArea without a human clicking through the admin. Through Jentic it creates the member, grants the purchased bundle, enrolls them in the starter course, and issues a one-time login link to send in a welcome email. Your API key stays in your own Jentic One instance, and your rules decide which of these member and course operations the agent may run.

Example prompt: Call POST /members to create the member, POST `/members/{memberUuid}/bundles/{bundleUuid}` to grant the bundle, POST `/courses/{courseUuid}/enrollments` with the member id, then POST `/members/{memberId}/login-link` and return the link

### Course progress tracking and nudges

Course creators want to know who stalled. The API lists the members enrolled in a course and each member's progress per course, so an agent can find members who have not completed a course and send them a nudge. When a member finishes work offline, the lesson-completion operation marks a specific lesson complete for them, which requires the member id in the body.

Example prompt: Call GET `/courses/{courseUuid}/members` for the course, then GET `/members/{memberUuid}/courses/{courseUuid}` for each member, and list members whose progress is not complete

### Event registration and check-in

For live workshops and cohort calls, the API registers members for an event, cancels registrations, and checks attendees in. Combined with the event.registered and event.attended hook events, a CRM or spreadsheet stays in step with who signed up and who showed up.

Example prompt: Call GET /events to find the event titled 'Live Q&A', then POST `/events/{eventUuid}/registrations` for the member and POST `/events/{eventUuid}/check-in` when they join

### Community moderation and recognition

Community managers keep forums healthy and reward contributors. The API lists and creates posts and comments across community areas and forums, and awards or revokes badges on a member, so an agent can welcome new posters, answer common questions, and recognise active members with a badge.

Example prompt: Call GET `/community/posts` to read recent posts, POST `/community/posts/{post}/comments` to reply to an unanswered one, and POST `/community/badges/{badgeUuid}/members/{memberUuid}` to award the 'Helper' badge

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/members` | Create a member |
| GET | `/members/by-email` | Look up a member by email |
| POST | `/courses/{courseUuid}/enrollments` | Enroll a member in a course |
| GET | `/members/{memberUuid}/courses` | List a member's course progress |
| POST | `/members/{memberUuid}/bundles/{bundleUuid}` | Grant bundle access |
| POST | `/members/{memberId}/login-link` | Issue a one-time login link |
| POST | `/events/{eventUuid}/registrations` | Register a member for an event |
| POST | `/hooks` | Subscribe to an event |

## Key resources

- **Members** — Member records with tags, custom field values, roles, bundle access, and login links
- **Courses and lessons** — Courses, modules, lessons, pages, elements, enrollments, and per-member progress
- **Community** — Areas, forums, posts, comments, and badges
- **Events** — Events with member registration and check-in
- **Orders and subscriptions** — Read-only order and subscription records
- **Hooks** — REST-hook subscriptions that deliver platform events to a target URL

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 58 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 55 / 100
  - Developer Experience & Jentic Compatibility: 71 / 100
  - AI-Readiness & Agent Experience: 50 / 100
  - Agent Usability: 50 / 100
  - Security: 67 / 100
  - AI Discoverability: 75 / 100
- **View full report:** https://jentic.com/apis/memberarea.io/memberarea/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring MemberArea by hand means choosing between a mak_ key in X-Api-Key, the bearer form, or a full OAuth PKCE flow, requesting the right scopes per endpoint, paging with per_page and page, and backing off on per-key read and write buckets. Through Jentic you install once, import MemberArea from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** MemberArea puts resource ids in the URL path, such as `/courses/{courseUuid}/enrollments` and `/members/{memberUuid}/bundles/{bundleUuid}`, so a rule can pin your agent to one course and the operations you pick. You choose the operations it may call, so destructive ones like deleting a member or a lesson are not included unless you add them.
- **Credential handling:** Your MemberArea API key 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 'enroll a member in a course' or 'award a badge', and Jentic returns the matching MemberArea operation with its input schema, so the agent finds the right call among the member, course, and community endpoints without browsing the reference docs.

## Related APIs

- **Teachable API** — Online course platform with courses, users, enrollments, and transactions
- **Circle API** — Community platform with spaces, posts, members, and events
- **Mighty Networks API** — Community and course platform for paid memberships
- **Outseta API** — Membership billing, CRM, and authentication for subscription businesses

## FAQ

### What authentication does the MemberArea API use?

Per its OpenAPI spec, the MemberArea API accepts an API key starting with mak_ sent in the X-Api-Key header, the same key as an Authorization bearer token, or an OAuth 2.0 authorization-code token with PKCE starting with mao_ for apps other MemberAreas connect, using a registered client_id at `/oauth/authorize.` Keys and tokens carry explicit scopes such as courses:write or members:read. A handful of endpoints, including the OAuth flow and the WordPress session checks, are not key-authenticated. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.

### Can I enroll a member in a course and track their progress with the MemberArea API?

Yes. POST `/courses/{courseUuid}/enrollments` with the member id enrolls them, GET `/members/{memberUuid}/courses/{courseUuid}` returns their progress in that course, and POST `/courses/{courseUuid}/lessons/{lessonUuid}/completion` marks one lesson complete. GET `/courses/{courseUuid}/members` lists everyone enrolled.

### What are the rate limits for the MemberArea API?

The OpenAPI spec states that requests are metered per API key at 600 reads/min, 120 writes/min, and 30 automation triggers/min, with daily caps on top. Exceeding a bucket returns 429 with a Retry-After header and X-RateLimit headers showing the remaining budget and reset time.

### Is there a MemberArea MCP server?

You don't need an MCP server to give your agent MemberArea. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent discovers the member, course, and community operations it needs on demand, without loading the whole surface into its context.

### How do I grant a member bundle access through Jentic?

Search Jentic for 'grant a member access to a bundle', load the POST `/members/{memberUuid}/bundles/{bundleUuid}` operation, and execute it with the member and bundle ids from GET `/members/by-email` and GET /bundles. DELETE on the same path revokes access. To run it on your own infrastructure, install Jentic One from its GitHub repo.

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

Yes. For example, write a rule that allows only enrollment and lesson-completion calls under `/courses/{courseUuid}`/ for your onboarding course, plus the course-progress read, so the agent can enroll members and mark lessons done there but cannot touch other courses, delete members, or change orders. Every call it makes is logged for review.

### How does pagination work in the MemberArea API?

List endpoints return 25 items by default. Pass per_page (up to 100) and page to page through results, and read page, per_page, total, and last_page from the meta object in each response.
