API Reference
Overview

API Reference

All Pcampus APIs follow REST conventions. Requests use JSON bodies; responses are JSON.

Base URLs

ServiceBase URL
PBCP Corehttps://pbcp-api.pcampus.co
Identity Platform (PIP)https://pip.pcampus.co
Pulsehttps://pulse.pcampus.co
Content OShttps://content-os-api.pcampus.co
Notificationhttps://notification-api.pcampus.co
Mailhttps://mail-api.pcampus.co
Storagehttps://storage-api.pcampus.co
Billinghttps://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

CodeMeaning
200 OKSuccess
201 CreatedResource created
204 No ContentSuccess, no body (DELETE)
400 Bad RequestInvalid input
401 UnauthorizedMissing or invalid token
403 ForbiddenToken valid but lacks permission
404 Not FoundResource not found
409 ConflictSlug or unique constraint conflict
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer 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
}

API Reference

All Pcampus APIs follow REST conventions. Requests use JSON bodies; responses are JSON.

Base URLs

ServiceBase URL
PBCP Corehttps://pbcp-api.pcampus.co
Identity Platform (PIP)https://pip.pcampus.co
Pulsehttps://pulse.pcampus.co
Content OShttps://content-os-api.pcampus.co
Notificationhttps://notification-api.pcampus.co
Mailhttps://mail-api.pcampus.co
Storagehttps://storage-api.pcampus.co
Billinghttps://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

CodeMeaning
200 OKSuccess
201 CreatedResource created
204 No ContentSuccess, no body (DELETE)
400 Bad RequestInvalid input
401 UnauthorizedMissing or invalid token
403 ForbiddenToken valid but lacks permission
404 Not FoundResource not found
409 ConflictSlug or unique constraint conflict
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer 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
}