API Reference
All Pcampus APIs follow REST conventions. Requests use JSON bodies; responses are JSON.
Base URLs
| Service | Base URL |
|---|---|
| PBCP Core | https://pbcp-api.pcampus.co |
| Identity Platform (PIP) | https://pip.pcampus.co |
| Pulse | https://pulse.pcampus.co |
| Content OS | https://content-os-api.pcampus.co |
| Notification | https://notification-api.pcampus.co |
https://mail-api.pcampus.co | |
| Storage | https://storage-api.pcampus.co |
| Billing | https://billing-api.pcampus.co |
Authentication
All endpoints require a bearer token:
Authorization: Bearer <token>Versioning
PIP currently uses no path versioning. Breaking changes will be versioned via a /v2/ prefix with deprecation notice.
Common response codes
| Code | Meaning |
|---|---|
200 OK | Success |
201 Created | Resource created |
204 No Content | Success, no body (DELETE) |
400 Bad Request | Invalid input |
401 Unauthorized | Missing or invalid token |
403 Forbidden | Token valid but lacks permission |
404 Not Found | Resource not found |
409 Conflict | Slug or unique constraint conflict |
429 Too Many Requests | Rate limit exceeded |
500 Internal Server Error | Server error — contact support |
Pagination
List endpoints use cursor-based pagination:
GET /identity/users?limit=20&cursor=eyJpZCI6InVzcl94eHh4In0=Response includes nextCursor when more results are available:
{
"data": [...],
"nextCursor": "eyJpZCI6InVzcl95eXl5In0=",
"total": 142
}