Overview
The Platzi Business API provides REST endpoints for managing companies, users, teams, and learning paths.
Base URLs
The API is served from two base URLs depending on the domain you call. Each endpoint reference page indicates which base URL to use at the top.
| Base URL | Domains |
|---|---|
https://api-sls.platzi.com/production-sls-business-domains | Users, Groups, Learning Paths, API Key |
https://api.platzi.com/business | Reports |
Domains
| Domain | Base Path | Description |
|---|---|---|
| Users | /v3/users/{company_id} | Invite, update, delete, and list company users |
| Groups | /v3/group-builder/{company_id} | Company team management |
| Learning Paths | /v3/lp-builder/{company_id} | Custom learning path management |
| API Key | /v2/api-key/auth | API key validation and SSO magic link generation |
| Reports | /v2/reports, /v1/english | User activity, learning paths, courses, and English |
Webhooks work the other way around: instead of calling us, you
expose an endpoint and Platzi POSTs to it when an employee finishes a
certifying exam. No API key is involved — see that page for how to request it.
Authentication
All endpoints require two headers:
| Header | Description |
|---|---|
x-platzi-company-api-key | API key provided by the Platzi team |
User-Agent | Provided along with the API key |
Ask Platzi organizers to provide you with the API key and API secret.
API secret is used to encrypt the email in some resources.
The usual information provided by Platzi organizers is:
Company Id: <company_id>
Label: <label>
Key: <key>
Secret: <secret>
User-Agent: <user-agent>
Expiration: <expiration>
Scope: <scope>
Response Format
All endpoints return JSON responses with a consistent structure:
Success:
{
"data": { ... },
"metadata": { "count": 100, "page": 1, "page_size": 20, "total_pages": 5 }
}
Error:
{
"errors": [{ "code": "ERROR_CODE", "message": "Human-readable description" }]
}
Rate Limits
| Limit | Threshold |
|---|---|
| Per minute | 400 requests |
| Per 5-minute window | 15,000 requests |
Pagination
List endpoints support pagination via query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
page | int | 1 | Page number |
page_size | int | 20 | Items per page (max varies by endpoint) |