Skip to main content

API Key Scopes

All public endpoints require:

  • Header x-platzi-company-api-key
  • Header User-Agent

Create keys and assign scopes from the B2B admin dashboard.

Scopes

ScopePurpose
reports.readRead-only aggregated reports (https://api.platzi.com/business)
activations.readRead activation / redeemable code data
activations.writeCreate activations and modify licenses (add/remove months)
sso.magiclinkGenerate SSO magic links

Reports (reports.read)

Base URL: https://api.platzi.com/business

EndpointDescription
GET /v2/reports/users/User progress list, filters (days_last_without_progress, etc.)
GET /v2/reports/users/funnel/Dashboard funnel (invited → certified)
GET /v2/reports/users/metrics/Raw funnel metrics (legacy; prefer /users/funnel/)
GET /v2/reports/users/inactive/Users with no course progress in N days
GET /v2/reports/users/errors/summary/Users in error grouped by error_code
GET /v2/reports/users/courses/Per-user course progress
GET /v2/reports/courses/Courses report (certified_student_count / users_approved)
GET /v2/reports/courses/top/approved/Top certified courses (team_id optional)
GET /v2/reports/learning-paths/Learning paths summary
GET /v1/english/results/English placement results

User management

Base URL: https://api-sls.platzi.com/production-sls-business-domains

EndpointRequired scopeNotes
GET /v3/users/{company_id}activations.readOperational user list (error_code, license state). Not covered by reports.read.
PUT /v3/users/{company_id}activations.writeUpdate licenses for specific users
POST /v3/users/{company_id}/bulkactivations.writeBulk add/remove reserved months, or trim to access_until
POST /v3/users/{company_id}/extensions/accept-allactivations.writeAccept all pending license extension requests (adds 1 month each)
POST /v3/users/{company_id}activations.writeActivate users
DELETE /v3/users/{company_id}activations.writeDeactivate/delete users

For analytics and Cowork integrations, prefer reports.read endpoints. Use activations.read only when you need operational fields not exposed in reports (e.g. per-row activation state).

Certified students field naming

EndpointLegacy fieldCanonical field
GET /v2/reports/courses/users_approvedcertified_student_count
GET /v2/reports/courses/top/approved/course_approvedcertified_student_count

Both legacy and canonical fields are returned during the transition period.