Authentication

Only schools on the Pro and Business plans will get access to the SchoolMaker API. You can upgrade your plan from your school’s billing settings or contact our support team if you want to get API access.

Your SchoolMaker API key should never be used client side or exposed to your end users.

Start here if you want to use the SchoolMaker API to manage your members or track your school activity.

Rate Limiting

Exceeding rate limits may temporarily block your API access. If you hit the limit, you’ll get a 429 Too Many Requests response. Handle limits carefully.

The SchoolMaker API uses rate limits to manage request volumes and ensure fair usage.

Base URL

https://schoolmaker.co/api/v1

Response Format

All responses are in JSON format. Successful responses will contain the requested data, while error responses will have this structure:

{
  "error": "Error message or array of error messages"
}

HTTP Status Codes

  • 200: Success

  • 201: Created

  • 204: No Content

  • 400: Bad Request

  • 401: Unauthorized

  • 404: Not Found

  • 422: Unprocessable Entity

  • 500: Internal Server Error

Debugging

Sometimes things go wrong. Here are some tips to help you debug your API requests.

Where to find IDs?

Members

The SchoolMaker API allows you to get information about your members:

Admins & Moderators

The SchoolMaker API allows you to get information about admins & moderators in your school:

Offers

Configure and list your school’s offers:

Programs

List school programs and get more information about specific programs and member progressions:

Coachings

Create coaching appointments and list coaching types:

Conversations

Create conversations to communicate with your members directly from your school.

Create a Conversation Group

Create a conversation with two or more participants with a custom message.

Gamification

Retrieves leaderboard ranking and filters by time range.

Get Leaderboard Ranking

Get the top 10 members in the community gamification leaderboard ranking with filters by time range.

Webhooks (Triggers)

Webhooks will allow you to detect when a specified event occurs. Supported event types include:

  • element_completed → When a step is completed

  • member_joining_offer → When a member is added to an offer

  • new_payment → When a member initiates a new payment (whether it is on a one-time offer price, a multiple installment price, or a subscription)

  • member_inactivity → Will trigger at the same time as the member inactivity notification from SchoolMaker

  • gamification_level_passed → Which will trigger when a level is passed in the community gamification feature

To see the payload for each event, please refer to the Webhooks Payload page.