Celebration entries API

Celebration entries endpoints in the Brix REST API: 6 operations (GET, POST, PATCH, DELETE). Each lists its path, auth, required permission and a curl example.

View as Markdown · For AI agents: the full docs index is at /llms.txt

Base URL https://api.brixsignage.com. Send Authorization: Bearer $BRIX_API_KEY unless an operation says Auth: none or Auth: no API key. The Permission line names what the key must hold. See Authentication and scopes, Errors and rate limits and Pagination.

Every 4xx and 5xx response below returns this body:

FieldTypeDescription
errorstringMachine-readable code: unauthorized, forbidden, not_found, validation_error, conflict, rate_limited, internal_error, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.

GET /v1/celebration-entries

Auth: Bearer token. Permission: integration.edit.

Return the roster of birthdays, anniversaries, and other occasions that the Celebrations app displays. Notes. - Only entries at locations the caller can see.

ParameterInTypeRequiredDescription
limitqueryintegernoPage size. Omit to get every row; pass it to page by cursor.
cursorquerystringnoThe nextCursor of the previous page.
countquery"1"noWith limit: also return total, the number of matching rows.
usableAtquerystringnoLocation id: only rows usable at that location (homed there, at the workspace root, or shared to it).
curl "https://api.brixsignage.com/v1/celebration-entries" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataarray of CelebrationEntry
data[].idstring
data[].spaceIdstring
data[].nodeIdstring | nullHome location; null = workspace root. Follows the data source's location when not set.
data[].sourceIdstring | nullThe data source it came from, if any.
data[].namestring
data[].photoUrlstring | null
data[].occasionType"birthday" | "anniversary" | "custom"
data[].occasionMonthinteger | null1–12.
data[].occasionDayinteger | null1–31.
data[].occasionYearinteger | nullThe start year for an anniversary.
data[].departmentstring | null
data[].titlestring | null
data[].locationstring | null
data[].customMessagestring | null
data[].externalIdstring | nullThe id in the source system, for de-duplication.
data[].createdAtstringISO-8601 timestamp (UTC).
data[].updatedAtstringISO-8601 timestamp (UTC).
data[].deletedAtstring | null
nextCursorstring | nullPresent when ?limit was passed. Send it back as ?cursor= for the next page; null on the last page.
totalintegerTotal matching rows, when the route computes it.

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 5XX: Server error. The body carries a requestId to quote to support.

POST /v1/celebration-entries

Auth: Bearer token. Permission: integration.create.

Add an entry to the celebration roster. Requires name; also accepts occasionType, occasionMonth, occasionDay, occasionYear, photoUrl, department, title, location, customMessage, sourceId, and externalId, all optional. Notes. - The 201 body is the row as written, not re-read from the database, so columns the create does not set (for example lastSnapshotAt) are absent rather than null. GET returns every column.

Request body: application/json

FieldTypeRequiredDescription
namestringyes
sourceIdstring | nullno
photoUrlstring | nullno
occasionType"birthday" | "anniversary" | "custom"noDefault birthday.
occasionMonthinteger | nullno
occasionDayinteger | nullno
occasionYearinteger | nullno
departmentstring | nullno
titlestring | nullno
locationstring | nullno
customMessagestring | nullno
externalIdstring | nullno
nodeIdstring | nullno
curl -X POST "https://api.brixsignage.com/v1/celebration-entries" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Sam Rivera","occasionType":"birthday","occasionMonth":10,"occasionDay":4,"department":"Kitchen"}'

Response 201: Success.

FieldTypeDescription
dataobject
data.idstring
data.spaceIdstring
data.nodeIdstring | nullHome location; null = workspace root. Follows the data source's location when not set.
data.sourceIdstring | nullThe data source it came from, if any.
data.namestring
data.photoUrlstring | null
data.occasionType"birthday" | "anniversary" | "custom"
data.occasionMonthinteger | null1–12.
data.occasionDayinteger | null1–31.
data.occasionYearinteger | nullThe start year for an anniversary.
data.departmentstring | null
data.titlestring | null
data.locationstring | null
data.customMessagestring | null
data.externalIdstring | nullThe id in the source system, for de-duplication.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | null

Response 401: Missing, expired or revoked bearer token.

Response 403: You do not hold integration.create at the location.

Response 422: name is missing, or a location or data source outside this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

GET /v1/celebration-entries/{id}

Auth: Bearer token. Permission: integration.edit.

Return one entry from the celebration roster.

ParameterInTypeRequiredDescription
idpathstringyesCelebration entry id.
curl "https://api.brixsignage.com/v1/celebration-entries/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataCelebrationEntryA person's birthday, work anniversary or other occasion for the Celebrations app.
data.idstring
data.spaceIdstring
data.nodeIdstring | nullHome location; null = workspace root. Follows the data source's location when not set.
data.sourceIdstring | nullThe data source it came from, if any.
data.namestring
data.photoUrlstring | null
data.occasionType"birthday" | "anniversary" | "custom"
data.occasionMonthinteger | null1–12.
data.occasionDayinteger | null1–31.
data.occasionYearinteger | nullThe start year for an anniversary.
data.departmentstring | null
data.titlestring | null
data.locationstring | null
data.customMessagestring | null
data.externalIdstring | nullThe id in the source system, for de-duplication.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | null

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 404: No such entry in this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

PATCH /v1/celebration-entries/{id}

Auth: Bearer token. Permission: integration.edit.

Edit one entry in the celebration roster. Accepts any of the fields used when creating an entry.

ParameterInTypeRequiredDescription
idpathstringyesCelebration entry id.

Request body: application/json

FieldTypeRequiredDescription
namestringno
sourceIdstring | nullno
photoUrlstring | nullno
occasionType"birthday" | "anniversary" | "custom"noDefault birthday.
occasionMonthinteger | nullno
occasionDayinteger | nullno
occasionYearinteger | nullno
departmentstring | nullno
titlestring | nullno
locationstring | nullno
customMessagestring | nullno
externalIdstring | nullno
nodeIdstring | nullno
curl -X PATCH "https://api.brixsignage.com/v1/celebration-entries/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 200: Success.

FieldTypeDescription
dataCelebrationEntryA person's birthday, work anniversary or other occasion for the Celebrations app.
data.idstring
data.spaceIdstring
data.nodeIdstring | nullHome location; null = workspace root. Follows the data source's location when not set.
data.sourceIdstring | nullThe data source it came from, if any.
data.namestring
data.photoUrlstring | null
data.occasionType"birthday" | "anniversary" | "custom"
data.occasionMonthinteger | null1–12.
data.occasionDayinteger | null1–31.
data.occasionYearinteger | nullThe start year for an anniversary.
data.departmentstring | null
data.titlestring | null
data.locationstring | null
data.customMessagestring | null
data.externalIdstring | nullThe id in the source system, for de-duplication.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | null

Response 401: Missing, expired or revoked bearer token.

Response 403: You do not hold integration.edit at the destination location.

Response 404: No such entry in this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

DELETE /v1/celebration-entries/{id}

Auth: Bearer token. Permission: integration.delete.

Remove an entry from the celebration roster. The entry moves to the recycle bin and can be brought back with the restore operation.

ParameterInTypeRequiredDescription
idpathstringyesCelebration entry id.
curl -X DELETE "https://api.brixsignage.com/v1/celebration-entries/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataobject
data.idstring
data.deletedtrue

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 404: No such entry in this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

POST /v1/celebration-entries/{id}/restore

Auth: Bearer token. Permission: integration.delete.

Bring back a deleted celebration entry so it appears again in the celebration app's roster.

ParameterInTypeRequiredDescription
idpathstringyesCelebration entry id.
curl -X POST "https://api.brixsignage.com/v1/celebration-entries/{id}/restore" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataobject
data.idstring
data.restoredtrue

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 404: No such entry in this workspace, or it was purged.

Response 409: not_deleted: the entry is not in the recycle bin.

Response 5XX: Server error. The body carries a requestId to quote to support.