◂ Retour à [README](./README.md)

# Entity Contracts, Schemas & Other Endpoints

> Les champs exacts d'une entité se découvrent via `inwink_mcp_get_entity_description`. Les schémas ci-dessous sont indicatifs.

## Other Endpoints

| Endpoint | Pattern | Purpose |
|---|---|---|
| Worktemplate | `GET {api}/{shardId}/{entity}/worktemplate` | Returns the entity template (list of properties, types, required flags, localization info) |
| History | `POST {api}/{shardId}/{entity}/history/query` | Query past modifications (same body as query). Use sparingly — filter by `id` for performance. |
| Massupdate | `POST {api}/{shardId}/{entity}/massupdate` | Bulk EDIT like `UPDATE … WHERE` in SQL (voir [update.md](./update.md)) |
| Massdelete | `POST {api}/{shardId}/{entity}/massdelete` | Bulk DELETE like `DELETE … WHERE` in SQL (voir [delete.md](./delete.md)) |
| Export | Returns entities as an Excel file | |
| File | Upload files (voir [files.md](./files.md)) | |

---

## Entity Contracts

### Event Entity

Scoped to EventAPI. Always has an `eventId` property. URL uses `{eventId}` as shardId.

### Customer Entity

Scoped to CustomerAPI. Always has a `customerId` property. URL uses `{customerId}` as shardId.

### Dynamic Entity

Can have custom properties added via backoffice or template API. Custom properties behave identically to built-in properties in all endpoints.

### With Publication Status

Has a `status` property (string, case-insensitive): `Draft`, `Preview`, `Published`, `Canceled`, `Rejected`.

### With History

Tracked modifications. Read-only properties: `validFrom` (last modification date, UTC), `modifiedById` (UUID), `modifiedByDisplayName` (string).

---

## Common Entities & Schemas

### Person (EventAPI)

Contracts: Event entity, Dynamic, With Publication Status, With History.

Key properties: `id` (uuid), `mail`, `firstname`, `lastname`, `company`, `jobTitle`, `preferredLanguage`, `isRegistered` (bool), `hasAttended` (bool), `status`, `registrationDate`, `registrationMode` (enum: BackOffice, Website, OnSite, Order, Invitation, ExhibitorAccount), `checkinDate`, `kinds` (string[]), `badgeRef`, `userId`, `contactId`, `description` (localizable), `photo` (file ref).

Expandable relations: `exhibitor`, `infos`, `roomingInfos`, `exhibitorAccounts`, `orders`, `hotelRoomNights`, `sessions`, `favoriteExhibitors`, `animatedSessions`, `orderItems`, `personScans`, `tasks`, `meetingPersons`, `availabilities`, `agenda`, `activityView`.

### EventDetail (EventAPI)

Contracts: Event entity, With History.

Key properties: `id`, `eventId`, `eventType` (array: Onsite/Online), `configuration`, `agenda`, `previewHost`.

Expandable relations: `sessions`, `exhibitors`.

### Event (CustomerAPI)

Contracts: Customer entity, Dynamic, With History.

Key properties: `id`, `customerId`, `title`, `description` (localizable), `startDate`, `endDate`, `city`, `country`, `eventKey`, `computedUrl`, `status` (Active/Archived/Deleted), `eventType`, `isMaster`, `timeZone`, `parentEventId`, `goalRegistered`, `goalAttendees`, `goalSales`.

Expandable relations: `stat`, `authTenant`, `eventHttpHostAliases`, `websites`.
