---
title: "Create a celebration entry"
method: POST
path: "/v1/celebration-entries"
tags: ["celebration-entries"]
---

# Create a celebration entry

`POST /v1/celebration-entries`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/celebration-entries`
- Auth: HTTP bearer

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

- object
  - `name` string, required
  - `sourceId` string, nullable
  - `photoUrl` string, nullable
  - `occasionType` 'birthday' | 'anniversary' | 'custom': Default `birthday`.
  - `occasionMonth` integer, nullable
  - `occasionDay` integer, nullable
  - `occasionYear` integer, nullable
  - `department` string, nullable
  - `title` string, nullable
  - `location` string, nullable
  - `customMessage` string, nullable
  - `externalId` string, nullable
  - `nodeId` string, nullable

## Response `201`

Success.

- object
  - `data` object, required
    - `id` string, required
    - `spaceId` string, required
    - `nodeId` string, nullable: Home location; null = workspace root. Follows the data source's location when not set.
    - `sourceId` string, nullable: The data source it came from, if any.
    - `name` string, required
    - `photoUrl` string, nullable
    - `occasionType` 'birthday' | 'anniversary' | 'custom'
    - `occasionMonth` integer, nullable: 1–12.
    - `occasionDay` integer, nullable: 1–31.
    - `occasionYear` integer, nullable: The start year for an anniversary.
    - `department` string, nullable
    - `title` string, nullable
    - `location` string, nullable
    - `customMessage` string, nullable
    - `externalId` string, nullable: The id in the source system, for de-duplication.
    - `createdAt` string, required: ISO-8601 timestamp (UTC).
    - `updatedAt` string, required: ISO-8601 timestamp (UTC).
    - `deletedAt` string, nullable, required: ISO-8601 timestamp (UTC).

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: You do not hold `integration.create` at the location.
- `422`: `name` is missing, or a location or data source outside this workspace.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
