API Reference

This page provides information on the API endpoints of BrownieGate.

/api/ping

Method: GET

Purpose: Confirms correct credentials to use the API.

Request:

  • Headers: project-uuid, authorization

Responses:

{ "success": true }
{ "success": false }

/api/user/validate

Method: POST

Purpose: Validate a one-time auth code and return the linked user id.

Request:

  • Headers: project-uuid, authorization
  • Query params: code

Responses:

{ "validated": true, "user_id": "some-user-id" }
{ "validated": false }

/api/user/get_data

Method: POST

Purpose: Fetch allowed user fields (username, firstname, lastname, email, pfp, bio) according to the project services configuration.

Request:

  • Headers: project-uuid, authorization
  • Query params: user_id

Responses:

{ "validated": true, "user_data": dict }
{ "validated": false }

Notes: The endpoint reads the project's services configuration and returns only fields enabled for that project. Profile pictures (pfp) are returned as data-URIs when present.

/api/user/remove

Method: POST

Purpose: Remove user from a project.

Request:

  • Headers: project-uuid, authorization
  • Query params: user_id

Responses:

{ "success": true }
{ "success": false }

/api/user/get_pfp

Method: POST

Purpose: Return a user's profile picture (data URI) if the project has pfp enabled and the user is registered with the project.

Request:

  • Headers: project-uuid, authorization
  • Query params: user_id

Responses:

{ "success": true, "pfp": pfp base64 }
{ "success": false }

/api/user/check_remove

Method: GET

Purpose: Returns user IDs of users who have deleted their account.

Request:

  • Headers: project-uuid, authorization

Responses:

{ "success": true, "user_ids": [] }
{ "success": false }

/api/cookie/generate

Method: POST

Purpose: Generate a session cookie (server-side) for an authenticated user tied to a project.

Request:

  • Headers: project-uuid, authorization
  • Query params: user_id

Responses:

{ "success": true, "cookie": cookie }
{ "success": false }

/api/cookie/validate

Method: POST

Purpose: Validate a cookie hash for a user.

Request:

  • Headers: project-uuid, authorization
  • Query params: cookie_hash, user_id

Responses:

{ "success": true }
{ "success": false }

/api/cookie/remove

Method: POST

Purpose: Remove any active cookies for a user in a project (server-side).

Request:

  • Headers: project-uuid, authorization
  • Query params: user_id

Responses:

{ "success": true }
{ "success": false }

/api/user/check_removed

Method: GET

Purpose: Retrieve a list of user IDs that have been deleted for the given project.

Request:

  • Headers: project-uuid, authorization

Responses:

{ "success": true, "user_ids": ["user-id-1", "user-id-2"] }
{ "success": false }