Skip to content

Pearl of the Orient API Docs (1.0.0)

Quick Overview

  • API Version: 1.0.0
  • Developer: Kyle Andre Lim
  • Base Path: /api/v1

Comprehensive API documentation for authentication, users, members, branch services, and offices endpoints.

Download OpenAPI description
Languages
Servers
Mock server
https://api-docs.pearlchaplaincy.org/_mock/openapi
Version 1 API base path
https://api-docs.pearlchaplaincy.org/api/v1

System

Health and root metadata endpoints

Operations

Auth

Authentication and account recovery

Operations

Users

User profile and admin user management

Operations

Get current authenticated user

Request

Security
BearerAuth
curl -i -X GET \
  https://api-docs.pearlchaplaincy.org/_mock/openapi/users/current \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Current user profile

Bodyapplication/json
userobject(UserPublic)required
user.​idstring(uuid)required
user.​namestringrequired
user.​emailstring(email)required
user.​avatarstring or null
user.​rolestring(UserType)required
Enum"MEMBER""OFFICER""ADMIN"
user.​createdAtstring(date-time)required
user.​updatedAtstring(date-time)
user.​isEmailVerifiedboolean
Response
application/json
{ "user": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "email": "user@example.com", "avatar": "string", "role": "MEMBER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isEmailVerified": true } }

Update current authenticated user

Request

Security
BearerAuth
Bodyapplication/jsonrequired
namestring
emailstring(email)
avatarstring or null
curl -i -X PUT \
  https://api-docs.pearlchaplaincy.org/_mock/openapi/users/current \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "email": "user@example.com",
    "avatar": "string"
  }'

Responses

Current user updated

Bodyapplication/json
userobject(UserPublic)required
user.​idstring(uuid)required
user.​namestringrequired
user.​emailstring(email)required
user.​avatarstring or null
user.​rolestring(UserType)required
Enum"MEMBER""OFFICER""ADMIN"
user.​createdAtstring(date-time)required
user.​updatedAtstring(date-time)
user.​isEmailVerifiedboolean
Response
application/json
{ "user": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "email": "user@example.com", "avatar": "string", "role": "MEMBER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isEmailVerified": true } }

Delete current authenticated user

Request

Security
BearerAuth
curl -i -X DELETE \
  https://api-docs.pearlchaplaincy.org/_mock/openapi/users/current \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User deleted

Response
No content

List users (admin only)

Request

Security
BearerAuth
Query
limitinteger>= 1
offsetinteger>= 0
curl -i -X GET \
  'https://api-docs.pearlchaplaincy.org/_mock/openapi/users?limit=1&offset=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User list

Bodyapplication/json
totalintegerrequired
limitinteger
offsetinteger
totalPagesinteger
currentPageinteger
hasMoreboolean
usersArray of objects(UserPublic)required
users[].​idstring(uuid)required
users[].​namestringrequired
users[].​emailstring(email)required
users[].​avatarstring or null
users[].​rolestring(UserType)required
Enum"MEMBER""OFFICER""ADMIN"
users[].​createdAtstring(date-time)required
users[].​updatedAtstring(date-time)
users[].​isEmailVerifiedboolean
Response
application/json
{ "total": 0, "limit": 0, "offset": 0, "totalPages": 0, "currentPage": 0, "hasMore": true, "users": [ { … } ] }

Get user by ID (admin only)

Request

Security
BearerAuth
Path
userIdstring(uuid)required
curl -i -X GET \
  'https://api-docs.pearlchaplaincy.org/_mock/openapi/users/{userId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User profile

Bodyapplication/json
userobject(UserPublic)required
user.​idstring(uuid)required
user.​namestringrequired
user.​emailstring(email)required
user.​avatarstring or null
user.​rolestring(UserType)required
Enum"MEMBER""OFFICER""ADMIN"
user.​createdAtstring(date-time)required
user.​updatedAtstring(date-time)
user.​isEmailVerifiedboolean
Response
application/json
{ "user": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "email": "user@example.com", "avatar": "string", "role": "MEMBER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isEmailVerified": true } }

Delete user by ID (admin only)

Request

Security
BearerAuth
Path
userIdstring(uuid)required
curl -i -X DELETE \
  'https://api-docs.pearlchaplaincy.org/_mock/openapi/users/{userId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User deleted

Response
No content

Members

Member application and management

Operations

Branch Service

Branch of service management

Operations

Offices

Office title management

Operations