openapi: '3.0.3'
info:
title: Backbone API
version: '1.0.0'
description: |
Auto-generated by backbone-cli.
This API provides 11 standard CRUD endpoints for each model.
servers:
- url: /
description: Development server
tags:
- name: BoothCategories
description: BoothCategory management endpoints
- name: Booths
description: Booth management endpoints
- name: TypeBooths
description: TypeBooth management endpoints
- name: BoothBookings
description: BoothBooking management endpoints
- name: Events
description: Event management endpoints
- name: EventTypes
description: EventType management endpoints
- name: LeadProvenances
description: LeadProvenance management endpoints
- name: LeadProvenanceRegistrations
description: LeadProvenanceRegistration management endpoints
- name: LeadRequests
description: LeadRequest management endpoints
- name: LeadRules
description: LeadRule management endpoints
- name: LeadRulePredicates
description: LeadRulePredicate management endpoints
- name: Mails
description: Mail management endpoints
- name: MailRegistrations
description: MailRegistration management endpoints
- name: MailSlots
description: MailSlot management endpoints
- name: Questions
description: Question management endpoints
- name: QuestionAnswers
description: QuestionAnswer management endpoints
- name: RegistrationQuestions
description: RegistrationQuestion management endpoints
- name: Registrations
description: Registration management endpoints
- name: RegistrationAnswers
description: RegistrationAnswer management endpoints
- name: Slots
description: Slot management endpoints
- name: Stages
description: Stage management endpoints
- name: TagCategories
description: TagCategory management endpoints
- name: Tags
description: Tag management endpoints
- name: Tickets
description: Ticket management endpoints
- name: TypeMails
description: TypeMail management endpoints
paths:
/api/v1/event/booth_categories:
get:
tags:
- BoothCategories
summary: List BoothCategories
description: Get a paginated list of BoothCategories with optional filtering and sorting
operationId: listBoothCategories
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategoryList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- BoothCategories
summary: Create BoothCategory
description: Create a new BoothCategory
operationId: createBoothCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBoothCategoryRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/booth_categories/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- BoothCategories
summary: Get BoothCategory by ID
operationId: getBoothCategory
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- BoothCategories
summary: Update BoothCategory (full)
operationId: updateBoothCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- BoothCategories
summary: Update BoothCategory (partial)
operationId: patchBoothCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchBoothCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- BoothCategories
summary: Delete BoothCategory (soft)
operationId: deleteBoothCategory
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booth_categories/bulk:
post:
tags:
- BoothCategories
summary: Bulk create BoothCategories
operationId: bulkCreateBoothCategories
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateBoothCategoryRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BoothCategory'
put:
tags:
- BoothCategories
summary: Bulk update BoothCategories (full, atomic)
operationId: bulkUpdateBoothCategories
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateBoothCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- BoothCategories
summary: Bulk partial-update BoothCategories (atomic)
operationId: bulkPatchBoothCategories
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_categories/upsert:
post:
tags:
- BoothCategories
summary: Upsert BoothCategory
operationId: upsertBoothCategory
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothCategoryRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
/api/v1/event/booth_categories/trash:
get:
tags:
- BoothCategories
summary: List deleted BoothCategories
operationId: listDeletedBoothCategories
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategoryList'
/api/v1/event/booth_categories/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- BoothCategories
summary: Restore deleted BoothCategory
operationId: restoreBoothCategory
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategory'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booth_categories/empty:
delete:
tags:
- BoothCategories
summary: Empty trash for BoothCategories
operationId: emptyTrashBoothCategories
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/booth_categories/delete/bulk:
post:
tags:
- BoothCategories
summary: Bulk soft-delete BoothCategories by ids (atomic)
operationId: bulkDeleteBoothCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_categories/restore/bulk:
post:
tags:
- BoothCategories
summary: Bulk restore BoothCategories by ids (atomic)
operationId: bulkRestoreBoothCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/BoothCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_categories/restore/all:
post:
tags:
- BoothCategories
summary: Restore all soft-deleted BoothCategories
operationId: restoreAllBoothCategories
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/booth_categories/trash/bulk:
delete:
tags:
- BoothCategories
summary: Bulk permanently-delete BoothCategories from trash by ids (atomic)
operationId: bulkPermanentDeleteBoothCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booths:
get:
tags:
- Booths
summary: List Booths
description: Get a paginated list of Booths with optional filtering and sorting
operationId: listBooths
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Booths
summary: Create Booth
description: Create a new Booth
operationId: createBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBoothRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/booths/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Booths
summary: Get Booth by ID
operationId: getBooth
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Booths
summary: Update Booth (full)
operationId: updateBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Booths
summary: Update Booth (partial)
operationId: patchBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Booths
summary: Delete Booth (soft)
operationId: deleteBooth
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booths/bulk:
post:
tags:
- Booths
summary: Bulk create Booths
operationId: bulkCreateBooths
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateBoothRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Booth'
put:
tags:
- Booths
summary: Bulk update Booths (full, atomic)
operationId: bulkUpdateBooths
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Booths
summary: Bulk partial-update Booths (atomic)
operationId: bulkPatchBooths
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booths/upsert:
post:
tags:
- Booths
summary: Upsert Booth
operationId: upsertBooth
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
/api/v1/event/booths/trash:
get:
tags:
- Booths
summary: List deleted Booths
operationId: listDeletedBooths
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothList'
/api/v1/event/booths/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Booths
summary: Restore deleted Booth
operationId: restoreBooth
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Booth'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booths/empty:
delete:
tags:
- Booths
summary: Empty trash for Booths
operationId: emptyTrashBooths
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/booths/delete/bulk:
post:
tags:
- Booths
summary: Bulk soft-delete Booths by ids (atomic)
operationId: bulkDeleteBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booths/restore/bulk:
post:
tags:
- Booths
summary: Bulk restore Booths by ids (atomic)
operationId: bulkRestoreBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booths/restore/all:
post:
tags:
- Booths
summary: Restore all soft-deleted Booths
operationId: restoreAllBooths
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/booths/trash/bulk:
delete:
tags:
- Booths
summary: Bulk permanently-delete Booths from trash by ids (atomic)
operationId: bulkPermanentDeleteBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_booths:
get:
tags:
- TypeBooths
summary: List TypeBooths
description: Get a paginated list of TypeBooths with optional filtering and sorting
operationId: listTypeBooths
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBoothList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- TypeBooths
summary: Create TypeBooth
description: Create a new TypeBooth
operationId: createTypeBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTypeBoothRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/type_booths/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- TypeBooths
summary: Get TypeBooth by ID
operationId: getTypeBooth
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- TypeBooths
summary: Update TypeBooth (full)
operationId: updateTypeBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTypeBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- TypeBooths
summary: Update TypeBooth (partial)
operationId: patchTypeBooth
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTypeBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- TypeBooths
summary: Delete TypeBooth (soft)
operationId: deleteTypeBooth
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/type_booths/bulk:
post:
tags:
- TypeBooths
summary: Bulk create TypeBooths
operationId: bulkCreateTypeBooths
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateTypeBoothRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TypeBooth'
put:
tags:
- TypeBooths
summary: Bulk update TypeBooths (full, atomic)
operationId: bulkUpdateTypeBooths
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateTypeBoothRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- TypeBooths
summary: Bulk partial-update TypeBooths (atomic)
operationId: bulkPatchTypeBooths
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_booths/upsert:
post:
tags:
- TypeBooths
summary: Upsert TypeBooth
operationId: upsertTypeBooth
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTypeBoothRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
/api/v1/event/type_booths/trash:
get:
tags:
- TypeBooths
summary: List deleted TypeBooths
operationId: listDeletedTypeBooths
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBoothList'
/api/v1/event/type_booths/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- TypeBooths
summary: Restore deleted TypeBooth
operationId: restoreTypeBooth
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBooth'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/type_booths/empty:
delete:
tags:
- TypeBooths
summary: Empty trash for TypeBooths
operationId: emptyTrashTypeBooths
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/type_booths/delete/bulk:
post:
tags:
- TypeBooths
summary: Bulk soft-delete TypeBooths by ids (atomic)
operationId: bulkDeleteTypeBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_booths/restore/bulk:
post:
tags:
- TypeBooths
summary: Bulk restore TypeBooths by ids (atomic)
operationId: bulkRestoreTypeBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TypeBoothBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_booths/restore/all:
post:
tags:
- TypeBooths
summary: Restore all soft-deleted TypeBooths
operationId: restoreAllTypeBooths
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/type_booths/trash/bulk:
delete:
tags:
- TypeBooths
summary: Bulk permanently-delete TypeBooths from trash by ids (atomic)
operationId: bulkPermanentDeleteTypeBooths
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_bookings:
get:
tags:
- BoothBookings
summary: List BoothBookings
description: Get a paginated list of BoothBookings with optional filtering and sorting
operationId: listBoothBookings
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBookingList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- BoothBookings
summary: Create BoothBooking
description: Create a new BoothBooking
operationId: createBoothBooking
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBoothBookingRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/booth_bookings/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- BoothBookings
summary: Get BoothBooking by ID
operationId: getBoothBooking
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- BoothBookings
summary: Update BoothBooking (full)
operationId: updateBoothBooking
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothBookingRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- BoothBookings
summary: Update BoothBooking (partial)
operationId: patchBoothBooking
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchBoothBookingRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- BoothBookings
summary: Delete BoothBooking (soft)
operationId: deleteBoothBooking
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booth_bookings/bulk:
post:
tags:
- BoothBookings
summary: Bulk create BoothBookings
operationId: bulkCreateBoothBookings
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateBoothBookingRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BoothBooking'
put:
tags:
- BoothBookings
summary: Bulk update BoothBookings (full, atomic)
operationId: bulkUpdateBoothBookings
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateBoothBookingRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBookingBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- BoothBookings
summary: Bulk partial-update BoothBookings (atomic)
operationId: bulkPatchBoothBookings
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBookingBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_bookings/upsert:
post:
tags:
- BoothBookings
summary: Upsert BoothBooking
operationId: upsertBoothBooking
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBoothBookingRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
/api/v1/event/booth_bookings/trash:
get:
tags:
- BoothBookings
summary: List deleted BoothBookings
operationId: listDeletedBoothBookings
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBookingList'
/api/v1/event/booth_bookings/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- BoothBookings
summary: Restore deleted BoothBooking
operationId: restoreBoothBooking
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBooking'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/booth_bookings/empty:
delete:
tags:
- BoothBookings
summary: Empty trash for BoothBookings
operationId: emptyTrashBoothBookings
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/booth_bookings/delete/bulk:
post:
tags:
- BoothBookings
summary: Bulk soft-delete BoothBookings by ids (atomic)
operationId: bulkDeleteBoothBookings
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_bookings/restore/bulk:
post:
tags:
- BoothBookings
summary: Bulk restore BoothBookings by ids (atomic)
operationId: bulkRestoreBoothBookings
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/BoothBookingBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/booth_bookings/restore/all:
post:
tags:
- BoothBookings
summary: Restore all soft-deleted BoothBookings
operationId: restoreAllBoothBookings
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/booth_bookings/trash/bulk:
delete:
tags:
- BoothBookings
summary: Bulk permanently-delete BoothBookings from trash by ids (atomic)
operationId: bulkPermanentDeleteBoothBookings
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/events:
get:
tags:
- Events
summary: List Events
description: Get a paginated list of Events with optional filtering and sorting
operationId: listEvents
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/EventList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Events
summary: Create Event
description: Create a new Event
operationId: createEvent
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEventRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/events/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Events
summary: Get Event by ID
operationId: getEvent
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Events
summary: Update Event (full)
operationId: updateEvent
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEventRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Events
summary: Update Event (partial)
operationId: patchEvent
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchEventRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Events
summary: Delete Event (soft)
operationId: deleteEvent
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/events/bulk:
post:
tags:
- Events
summary: Bulk create Events
operationId: bulkCreateEvents
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateEventRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
put:
tags:
- Events
summary: Bulk update Events (full, atomic)
operationId: bulkUpdateEvents
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateEventRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Events
summary: Bulk partial-update Events (atomic)
operationId: bulkPatchEvents
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/events/upsert:
post:
tags:
- Events
summary: Upsert Event
operationId: upsertEvent
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEventRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
/api/v1/event/events/trash:
get:
tags:
- Events
summary: List deleted Events
operationId: listDeletedEvents
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/EventList'
/api/v1/event/events/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Events
summary: Restore deleted Event
operationId: restoreEvent
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/events/empty:
delete:
tags:
- Events
summary: Empty trash for Events
operationId: emptyTrashEvents
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/events/delete/bulk:
post:
tags:
- Events
summary: Bulk soft-delete Events by ids (atomic)
operationId: bulkDeleteEvents
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/events/restore/bulk:
post:
tags:
- Events
summary: Bulk restore Events by ids (atomic)
operationId: bulkRestoreEvents
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/EventBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/events/restore/all:
post:
tags:
- Events
summary: Restore all soft-deleted Events
operationId: restoreAllEvents
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/events/trash/bulk:
delete:
tags:
- Events
summary: Bulk permanently-delete Events from trash by ids (atomic)
operationId: bulkPermanentDeleteEvents
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/event_types:
get:
tags:
- EventTypes
summary: List EventTypes
description: Get a paginated list of EventTypes with optional filtering and sorting
operationId: listEventTypes
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypeList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- EventTypes
summary: Create EventType
description: Create a new EventType
operationId: createEventType
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEventTypeRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/event_types/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- EventTypes
summary: Get EventType by ID
operationId: getEventType
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- EventTypes
summary: Update EventType (full)
operationId: updateEventType
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEventTypeRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- EventTypes
summary: Update EventType (partial)
operationId: patchEventType
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchEventTypeRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- EventTypes
summary: Delete EventType (soft)
operationId: deleteEventType
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/event_types/bulk:
post:
tags:
- EventTypes
summary: Bulk create EventTypes
operationId: bulkCreateEventTypes
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateEventTypeRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventType'
put:
tags:
- EventTypes
summary: Bulk update EventTypes (full, atomic)
operationId: bulkUpdateEventTypes
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateEventTypeRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypeBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- EventTypes
summary: Bulk partial-update EventTypes (atomic)
operationId: bulkPatchEventTypes
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypeBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/event_types/upsert:
post:
tags:
- EventTypes
summary: Upsert EventType
operationId: upsertEventType
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEventTypeRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
/api/v1/event/event_types/trash:
get:
tags:
- EventTypes
summary: List deleted EventTypes
operationId: listDeletedEventTypes
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypeList'
/api/v1/event/event_types/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- EventTypes
summary: Restore deleted EventType
operationId: restoreEventType
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/EventType'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/event_types/empty:
delete:
tags:
- EventTypes
summary: Empty trash for EventTypes
operationId: emptyTrashEventTypes
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/event_types/delete/bulk:
post:
tags:
- EventTypes
summary: Bulk soft-delete EventTypes by ids (atomic)
operationId: bulkDeleteEventTypes
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/event_types/restore/bulk:
post:
tags:
- EventTypes
summary: Bulk restore EventTypes by ids (atomic)
operationId: bulkRestoreEventTypes
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypeBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/event_types/restore/all:
post:
tags:
- EventTypes
summary: Restore all soft-deleted EventTypes
operationId: restoreAllEventTypes
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/event_types/trash/bulk:
delete:
tags:
- EventTypes
summary: Bulk permanently-delete EventTypes from trash by ids (atomic)
operationId: bulkPermanentDeleteEventTypes
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenances:
get:
tags:
- LeadProvenances
summary: List LeadProvenances
description: Get a paginated list of LeadProvenances with optional filtering and sorting
operationId: listLeadProvenances
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- LeadProvenances
summary: Create LeadProvenance
description: Create a new LeadProvenance
operationId: createLeadProvenance
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLeadProvenanceRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/lead_provenances/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- LeadProvenances
summary: Get LeadProvenance by ID
operationId: getLeadProvenance
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- LeadProvenances
summary: Update LeadProvenance (full)
operationId: updateLeadProvenance
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadProvenanceRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- LeadProvenances
summary: Update LeadProvenance (partial)
operationId: patchLeadProvenance
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchLeadProvenanceRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- LeadProvenances
summary: Delete LeadProvenance (soft)
operationId: deleteLeadProvenance
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_provenances/bulk:
post:
tags:
- LeadProvenances
summary: Bulk create LeadProvenances
operationId: bulkCreateLeadProvenances
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateLeadProvenanceRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadProvenance'
put:
tags:
- LeadProvenances
summary: Bulk update LeadProvenances (full, atomic)
operationId: bulkUpdateLeadProvenances
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateLeadProvenanceRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- LeadProvenances
summary: Bulk partial-update LeadProvenances (atomic)
operationId: bulkPatchLeadProvenances
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenances/upsert:
post:
tags:
- LeadProvenances
summary: Upsert LeadProvenance
operationId: upsertLeadProvenance
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadProvenanceRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
/api/v1/event/lead_provenances/trash:
get:
tags:
- LeadProvenances
summary: List deleted LeadProvenances
operationId: listDeletedLeadProvenances
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceList'
/api/v1/event/lead_provenances/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- LeadProvenances
summary: Restore deleted LeadProvenance
operationId: restoreLeadProvenance
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenance'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_provenances/empty:
delete:
tags:
- LeadProvenances
summary: Empty trash for LeadProvenances
operationId: emptyTrashLeadProvenances
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/lead_provenances/delete/bulk:
post:
tags:
- LeadProvenances
summary: Bulk soft-delete LeadProvenances by ids (atomic)
operationId: bulkDeleteLeadProvenances
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenances/restore/bulk:
post:
tags:
- LeadProvenances
summary: Bulk restore LeadProvenances by ids (atomic)
operationId: bulkRestoreLeadProvenances
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenances/restore/all:
post:
tags:
- LeadProvenances
summary: Restore all soft-deleted LeadProvenances
operationId: restoreAllLeadProvenances
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/lead_provenances/trash/bulk:
delete:
tags:
- LeadProvenances
summary: Bulk permanently-delete LeadProvenances from trash by ids (atomic)
operationId: bulkPermanentDeleteLeadProvenances
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenance_registrations:
get:
tags:
- LeadProvenanceRegistrations
summary: List LeadProvenanceRegistrations
description: Get a paginated list of LeadProvenanceRegistrations with optional filtering and sorting
operationId: listLeadProvenanceRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistrationList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- LeadProvenanceRegistrations
summary: Create LeadProvenanceRegistration
description: Create a new LeadProvenanceRegistration
operationId: createLeadProvenanceRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLeadProvenanceRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/lead_provenance_registrations/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- LeadProvenanceRegistrations
summary: Get LeadProvenanceRegistration by ID
operationId: getLeadProvenanceRegistration
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- LeadProvenanceRegistrations
summary: Update LeadProvenanceRegistration (full)
operationId: updateLeadProvenanceRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadProvenanceRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- LeadProvenanceRegistrations
summary: Update LeadProvenanceRegistration (partial)
operationId: patchLeadProvenanceRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchLeadProvenanceRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- LeadProvenanceRegistrations
summary: Delete LeadProvenanceRegistration (soft)
operationId: deleteLeadProvenanceRegistration
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_provenance_registrations/bulk:
post:
tags:
- LeadProvenanceRegistrations
summary: Bulk create LeadProvenanceRegistrations
operationId: bulkCreateLeadProvenanceRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateLeadProvenanceRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadProvenanceRegistration'
put:
tags:
- LeadProvenanceRegistrations
summary: Bulk update LeadProvenanceRegistrations (full, atomic)
operationId: bulkUpdateLeadProvenanceRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateLeadProvenanceRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- LeadProvenanceRegistrations
summary: Bulk partial-update LeadProvenanceRegistrations (atomic)
operationId: bulkPatchLeadProvenanceRegistrations
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenance_registrations/upsert:
post:
tags:
- LeadProvenanceRegistrations
summary: Upsert LeadProvenanceRegistration
operationId: upsertLeadProvenanceRegistration
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadProvenanceRegistrationRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
/api/v1/event/lead_provenance_registrations/trash:
get:
tags:
- LeadProvenanceRegistrations
summary: List deleted LeadProvenanceRegistrations
operationId: listDeletedLeadProvenanceRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistrationList'
/api/v1/event/lead_provenance_registrations/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- LeadProvenanceRegistrations
summary: Restore deleted LeadProvenanceRegistration
operationId: restoreLeadProvenanceRegistration
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistration'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_provenance_registrations/empty:
delete:
tags:
- LeadProvenanceRegistrations
summary: Empty trash for LeadProvenanceRegistrations
operationId: emptyTrashLeadProvenanceRegistrations
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/lead_provenance_registrations/delete/bulk:
post:
tags:
- LeadProvenanceRegistrations
summary: Bulk soft-delete LeadProvenanceRegistrations by ids (atomic)
operationId: bulkDeleteLeadProvenanceRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenance_registrations/restore/bulk:
post:
tags:
- LeadProvenanceRegistrations
summary: Bulk restore LeadProvenanceRegistrations by ids (atomic)
operationId: bulkRestoreLeadProvenanceRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadProvenanceRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_provenance_registrations/restore/all:
post:
tags:
- LeadProvenanceRegistrations
summary: Restore all soft-deleted LeadProvenanceRegistrations
operationId: restoreAllLeadProvenanceRegistrations
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/lead_provenance_registrations/trash/bulk:
delete:
tags:
- LeadProvenanceRegistrations
summary: Bulk permanently-delete LeadProvenanceRegistrations from trash by ids (atomic)
operationId: bulkPermanentDeleteLeadProvenanceRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_requests:
get:
tags:
- LeadRequests
summary: List LeadRequests
description: Get a paginated list of LeadRequests with optional filtering and sorting
operationId: listLeadRequests
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequestList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- LeadRequests
summary: Create LeadRequest
description: Create a new LeadRequest
operationId: createLeadRequest
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLeadRequestRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/lead_requests/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- LeadRequests
summary: Get LeadRequest by ID
operationId: getLeadRequest
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- LeadRequests
summary: Update LeadRequest (full)
operationId: updateLeadRequest
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRequestRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- LeadRequests
summary: Update LeadRequest (partial)
operationId: patchLeadRequest
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchLeadRequestRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- LeadRequests
summary: Delete LeadRequest (soft)
operationId: deleteLeadRequest
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_requests/bulk:
post:
tags:
- LeadRequests
summary: Bulk create LeadRequests
operationId: bulkCreateLeadRequests
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateLeadRequestRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadRequest'
put:
tags:
- LeadRequests
summary: Bulk update LeadRequests (full, atomic)
operationId: bulkUpdateLeadRequests
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateLeadRequestRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequestBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- LeadRequests
summary: Bulk partial-update LeadRequests (atomic)
operationId: bulkPatchLeadRequests
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequestBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_requests/upsert:
post:
tags:
- LeadRequests
summary: Upsert LeadRequest
operationId: upsertLeadRequest
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRequestRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
/api/v1/event/lead_requests/trash:
get:
tags:
- LeadRequests
summary: List deleted LeadRequests
operationId: listDeletedLeadRequests
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequestList'
/api/v1/event/lead_requests/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- LeadRequests
summary: Restore deleted LeadRequest
operationId: restoreLeadRequest
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequest'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_requests/empty:
delete:
tags:
- LeadRequests
summary: Empty trash for LeadRequests
operationId: emptyTrashLeadRequests
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/lead_requests/delete/bulk:
post:
tags:
- LeadRequests
summary: Bulk soft-delete LeadRequests by ids (atomic)
operationId: bulkDeleteLeadRequests
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_requests/restore/bulk:
post:
tags:
- LeadRequests
summary: Bulk restore LeadRequests by ids (atomic)
operationId: bulkRestoreLeadRequests
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRequestBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_requests/restore/all:
post:
tags:
- LeadRequests
summary: Restore all soft-deleted LeadRequests
operationId: restoreAllLeadRequests
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/lead_requests/trash/bulk:
delete:
tags:
- LeadRequests
summary: Bulk permanently-delete LeadRequests from trash by ids (atomic)
operationId: bulkPermanentDeleteLeadRequests
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rules:
get:
tags:
- LeadRules
summary: List LeadRules
description: Get a paginated list of LeadRules with optional filtering and sorting
operationId: listLeadRules
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRuleList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- LeadRules
summary: Create LeadRule
description: Create a new LeadRule
operationId: createLeadRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLeadRuleRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/lead_rules/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- LeadRules
summary: Get LeadRule by ID
operationId: getLeadRule
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- LeadRules
summary: Update LeadRule (full)
operationId: updateLeadRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRuleRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- LeadRules
summary: Update LeadRule (partial)
operationId: patchLeadRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchLeadRuleRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- LeadRules
summary: Delete LeadRule (soft)
operationId: deleteLeadRule
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_rules/bulk:
post:
tags:
- LeadRules
summary: Bulk create LeadRules
operationId: bulkCreateLeadRules
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateLeadRuleRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadRule'
put:
tags:
- LeadRules
summary: Bulk update LeadRules (full, atomic)
operationId: bulkUpdateLeadRules
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateLeadRuleRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRuleBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- LeadRules
summary: Bulk partial-update LeadRules (atomic)
operationId: bulkPatchLeadRules
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRuleBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rules/upsert:
post:
tags:
- LeadRules
summary: Upsert LeadRule
operationId: upsertLeadRule
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRuleRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
/api/v1/event/lead_rules/trash:
get:
tags:
- LeadRules
summary: List deleted LeadRules
operationId: listDeletedLeadRules
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRuleList'
/api/v1/event/lead_rules/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- LeadRules
summary: Restore deleted LeadRule
operationId: restoreLeadRule
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRule'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_rules/empty:
delete:
tags:
- LeadRules
summary: Empty trash for LeadRules
operationId: emptyTrashLeadRules
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/lead_rules/delete/bulk:
post:
tags:
- LeadRules
summary: Bulk soft-delete LeadRules by ids (atomic)
operationId: bulkDeleteLeadRules
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rules/restore/bulk:
post:
tags:
- LeadRules
summary: Bulk restore LeadRules by ids (atomic)
operationId: bulkRestoreLeadRules
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRuleBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rules/restore/all:
post:
tags:
- LeadRules
summary: Restore all soft-deleted LeadRules
operationId: restoreAllLeadRules
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/lead_rules/trash/bulk:
delete:
tags:
- LeadRules
summary: Bulk permanently-delete LeadRules from trash by ids (atomic)
operationId: bulkPermanentDeleteLeadRules
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rule_predicates:
get:
tags:
- LeadRulePredicates
summary: List LeadRulePredicates
description: Get a paginated list of LeadRulePredicates with optional filtering and sorting
operationId: listLeadRulePredicates
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicateList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- LeadRulePredicates
summary: Create LeadRulePredicate
description: Create a new LeadRulePredicate
operationId: createLeadRulePredicate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLeadRulePredicateRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/lead_rule_predicates/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- LeadRulePredicates
summary: Get LeadRulePredicate by ID
operationId: getLeadRulePredicate
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- LeadRulePredicates
summary: Update LeadRulePredicate (full)
operationId: updateLeadRulePredicate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRulePredicateRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- LeadRulePredicates
summary: Update LeadRulePredicate (partial)
operationId: patchLeadRulePredicate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchLeadRulePredicateRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- LeadRulePredicates
summary: Delete LeadRulePredicate (soft)
operationId: deleteLeadRulePredicate
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_rule_predicates/bulk:
post:
tags:
- LeadRulePredicates
summary: Bulk create LeadRulePredicates
operationId: bulkCreateLeadRulePredicates
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateLeadRulePredicateRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadRulePredicate'
put:
tags:
- LeadRulePredicates
summary: Bulk update LeadRulePredicates (full, atomic)
operationId: bulkUpdateLeadRulePredicates
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateLeadRulePredicateRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicateBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- LeadRulePredicates
summary: Bulk partial-update LeadRulePredicates (atomic)
operationId: bulkPatchLeadRulePredicates
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicateBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rule_predicates/upsert:
post:
tags:
- LeadRulePredicates
summary: Upsert LeadRulePredicate
operationId: upsertLeadRulePredicate
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLeadRulePredicateRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
/api/v1/event/lead_rule_predicates/trash:
get:
tags:
- LeadRulePredicates
summary: List deleted LeadRulePredicates
operationId: listDeletedLeadRulePredicates
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicateList'
/api/v1/event/lead_rule_predicates/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- LeadRulePredicates
summary: Restore deleted LeadRulePredicate
operationId: restoreLeadRulePredicate
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicate'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/lead_rule_predicates/empty:
delete:
tags:
- LeadRulePredicates
summary: Empty trash for LeadRulePredicates
operationId: emptyTrashLeadRulePredicates
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/lead_rule_predicates/delete/bulk:
post:
tags:
- LeadRulePredicates
summary: Bulk soft-delete LeadRulePredicates by ids (atomic)
operationId: bulkDeleteLeadRulePredicates
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rule_predicates/restore/bulk:
post:
tags:
- LeadRulePredicates
summary: Bulk restore LeadRulePredicates by ids (atomic)
operationId: bulkRestoreLeadRulePredicates
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/LeadRulePredicateBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/lead_rule_predicates/restore/all:
post:
tags:
- LeadRulePredicates
summary: Restore all soft-deleted LeadRulePredicates
operationId: restoreAllLeadRulePredicates
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/lead_rule_predicates/trash/bulk:
delete:
tags:
- LeadRulePredicates
summary: Bulk permanently-delete LeadRulePredicates from trash by ids (atomic)
operationId: bulkPermanentDeleteLeadRulePredicates
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mails:
get:
tags:
- Mails
summary: List Mails
description: Get a paginated list of Mails with optional filtering and sorting
operationId: listMails
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Mails
summary: Create Mail
description: Create a new Mail
operationId: createMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMailRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/mails/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Mails
summary: Get Mail by ID
operationId: getMail
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Mails
summary: Update Mail (full)
operationId: updateMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Mails
summary: Update Mail (partial)
operationId: patchMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Mails
summary: Delete Mail (soft)
operationId: deleteMail
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mails/bulk:
post:
tags:
- Mails
summary: Bulk create Mails
operationId: bulkCreateMails
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateMailRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Mail'
put:
tags:
- Mails
summary: Bulk update Mails (full, atomic)
operationId: bulkUpdateMails
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Mails
summary: Bulk partial-update Mails (atomic)
operationId: bulkPatchMails
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mails/upsert:
post:
tags:
- Mails
summary: Upsert Mail
operationId: upsertMail
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
/api/v1/event/mails/trash:
get:
tags:
- Mails
summary: List deleted Mails
operationId: listDeletedMails
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailList'
/api/v1/event/mails/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Mails
summary: Restore deleted Mail
operationId: restoreMail
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Mail'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mails/empty:
delete:
tags:
- Mails
summary: Empty trash for Mails
operationId: emptyTrashMails
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/mails/delete/bulk:
post:
tags:
- Mails
summary: Bulk soft-delete Mails by ids (atomic)
operationId: bulkDeleteMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mails/restore/bulk:
post:
tags:
- Mails
summary: Bulk restore Mails by ids (atomic)
operationId: bulkRestoreMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/MailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mails/restore/all:
post:
tags:
- Mails
summary: Restore all soft-deleted Mails
operationId: restoreAllMails
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/mails/trash/bulk:
delete:
tags:
- Mails
summary: Bulk permanently-delete Mails from trash by ids (atomic)
operationId: bulkPermanentDeleteMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_registrations:
get:
tags:
- MailRegistrations
summary: List MailRegistrations
description: Get a paginated list of MailRegistrations with optional filtering and sorting
operationId: listMailRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistrationList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- MailRegistrations
summary: Create MailRegistration
description: Create a new MailRegistration
operationId: createMailRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMailRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/mail_registrations/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- MailRegistrations
summary: Get MailRegistration by ID
operationId: getMailRegistration
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- MailRegistrations
summary: Update MailRegistration (full)
operationId: updateMailRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- MailRegistrations
summary: Update MailRegistration (partial)
operationId: patchMailRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchMailRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- MailRegistrations
summary: Delete MailRegistration (soft)
operationId: deleteMailRegistration
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mail_registrations/bulk:
post:
tags:
- MailRegistrations
summary: Bulk create MailRegistrations
operationId: bulkCreateMailRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateMailRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MailRegistration'
put:
tags:
- MailRegistrations
summary: Bulk update MailRegistrations (full, atomic)
operationId: bulkUpdateMailRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateMailRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- MailRegistrations
summary: Bulk partial-update MailRegistrations (atomic)
operationId: bulkPatchMailRegistrations
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_registrations/upsert:
post:
tags:
- MailRegistrations
summary: Upsert MailRegistration
operationId: upsertMailRegistration
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailRegistrationRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
/api/v1/event/mail_registrations/trash:
get:
tags:
- MailRegistrations
summary: List deleted MailRegistrations
operationId: listDeletedMailRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistrationList'
/api/v1/event/mail_registrations/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- MailRegistrations
summary: Restore deleted MailRegistration
operationId: restoreMailRegistration
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistration'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mail_registrations/empty:
delete:
tags:
- MailRegistrations
summary: Empty trash for MailRegistrations
operationId: emptyTrashMailRegistrations
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/mail_registrations/delete/bulk:
post:
tags:
- MailRegistrations
summary: Bulk soft-delete MailRegistrations by ids (atomic)
operationId: bulkDeleteMailRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_registrations/restore/bulk:
post:
tags:
- MailRegistrations
summary: Bulk restore MailRegistrations by ids (atomic)
operationId: bulkRestoreMailRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/MailRegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_registrations/restore/all:
post:
tags:
- MailRegistrations
summary: Restore all soft-deleted MailRegistrations
operationId: restoreAllMailRegistrations
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/mail_registrations/trash/bulk:
delete:
tags:
- MailRegistrations
summary: Bulk permanently-delete MailRegistrations from trash by ids (atomic)
operationId: bulkPermanentDeleteMailRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_slots:
get:
tags:
- MailSlots
summary: List MailSlots
description: Get a paginated list of MailSlots with optional filtering and sorting
operationId: listMailSlots
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlotList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- MailSlots
summary: Create MailSlot
description: Create a new MailSlot
operationId: createMailSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMailSlotRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/mail_slots/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- MailSlots
summary: Get MailSlot by ID
operationId: getMailSlot
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- MailSlots
summary: Update MailSlot (full)
operationId: updateMailSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- MailSlots
summary: Update MailSlot (partial)
operationId: patchMailSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchMailSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- MailSlots
summary: Delete MailSlot (soft)
operationId: deleteMailSlot
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mail_slots/bulk:
post:
tags:
- MailSlots
summary: Bulk create MailSlots
operationId: bulkCreateMailSlots
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateMailSlotRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MailSlot'
put:
tags:
- MailSlots
summary: Bulk update MailSlots (full, atomic)
operationId: bulkUpdateMailSlots
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateMailSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- MailSlots
summary: Bulk partial-update MailSlots (atomic)
operationId: bulkPatchMailSlots
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_slots/upsert:
post:
tags:
- MailSlots
summary: Upsert MailSlot
operationId: upsertMailSlot
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMailSlotRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
/api/v1/event/mail_slots/trash:
get:
tags:
- MailSlots
summary: List deleted MailSlots
operationId: listDeletedMailSlots
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlotList'
/api/v1/event/mail_slots/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- MailSlots
summary: Restore deleted MailSlot
operationId: restoreMailSlot
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlot'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/mail_slots/empty:
delete:
tags:
- MailSlots
summary: Empty trash for MailSlots
operationId: emptyTrashMailSlots
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/mail_slots/delete/bulk:
post:
tags:
- MailSlots
summary: Bulk soft-delete MailSlots by ids (atomic)
operationId: bulkDeleteMailSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_slots/restore/bulk:
post:
tags:
- MailSlots
summary: Bulk restore MailSlots by ids (atomic)
operationId: bulkRestoreMailSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/MailSlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/mail_slots/restore/all:
post:
tags:
- MailSlots
summary: Restore all soft-deleted MailSlots
operationId: restoreAllMailSlots
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/mail_slots/trash/bulk:
delete:
tags:
- MailSlots
summary: Bulk permanently-delete MailSlots from trash by ids (atomic)
operationId: bulkPermanentDeleteMailSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/questions:
get:
tags:
- Questions
summary: List Questions
description: Get a paginated list of Questions with optional filtering and sorting
operationId: listQuestions
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Questions
summary: Create Question
description: Create a new Question
operationId: createQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateQuestionRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/questions/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Questions
summary: Get Question by ID
operationId: getQuestion
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Questions
summary: Update Question (full)
operationId: updateQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Questions
summary: Update Question (partial)
operationId: patchQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Questions
summary: Delete Question (soft)
operationId: deleteQuestion
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/questions/bulk:
post:
tags:
- Questions
summary: Bulk create Questions
operationId: bulkCreateQuestions
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateQuestionRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Question'
put:
tags:
- Questions
summary: Bulk update Questions (full, atomic)
operationId: bulkUpdateQuestions
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Questions
summary: Bulk partial-update Questions (atomic)
operationId: bulkPatchQuestions
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/questions/upsert:
post:
tags:
- Questions
summary: Upsert Question
operationId: upsertQuestion
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQuestionRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
/api/v1/event/questions/trash:
get:
tags:
- Questions
summary: List deleted Questions
operationId: listDeletedQuestions
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionList'
/api/v1/event/questions/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Questions
summary: Restore deleted Question
operationId: restoreQuestion
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/questions/empty:
delete:
tags:
- Questions
summary: Empty trash for Questions
operationId: emptyTrashQuestions
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/questions/delete/bulk:
post:
tags:
- Questions
summary: Bulk soft-delete Questions by ids (atomic)
operationId: bulkDeleteQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/questions/restore/bulk:
post:
tags:
- Questions
summary: Bulk restore Questions by ids (atomic)
operationId: bulkRestoreQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/questions/restore/all:
post:
tags:
- Questions
summary: Restore all soft-deleted Questions
operationId: restoreAllQuestions
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/questions/trash/bulk:
delete:
tags:
- Questions
summary: Bulk permanently-delete Questions from trash by ids (atomic)
operationId: bulkPermanentDeleteQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/question_answers:
get:
tags:
- QuestionAnswers
summary: List QuestionAnswers
description: Get a paginated list of QuestionAnswers with optional filtering and sorting
operationId: listQuestionAnswers
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswerList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- QuestionAnswers
summary: Create QuestionAnswer
description: Create a new QuestionAnswer
operationId: createQuestionAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateQuestionAnswerRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/question_answers/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- QuestionAnswers
summary: Get QuestionAnswer by ID
operationId: getQuestionAnswer
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- QuestionAnswers
summary: Update QuestionAnswer (full)
operationId: updateQuestionAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQuestionAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- QuestionAnswers
summary: Update QuestionAnswer (partial)
operationId: patchQuestionAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchQuestionAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- QuestionAnswers
summary: Delete QuestionAnswer (soft)
operationId: deleteQuestionAnswer
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/question_answers/bulk:
post:
tags:
- QuestionAnswers
summary: Bulk create QuestionAnswers
operationId: bulkCreateQuestionAnswers
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateQuestionAnswerRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/QuestionAnswer'
put:
tags:
- QuestionAnswers
summary: Bulk update QuestionAnswers (full, atomic)
operationId: bulkUpdateQuestionAnswers
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateQuestionAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- QuestionAnswers
summary: Bulk partial-update QuestionAnswers (atomic)
operationId: bulkPatchQuestionAnswers
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/question_answers/upsert:
post:
tags:
- QuestionAnswers
summary: Upsert QuestionAnswer
operationId: upsertQuestionAnswer
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateQuestionAnswerRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
/api/v1/event/question_answers/trash:
get:
tags:
- QuestionAnswers
summary: List deleted QuestionAnswers
operationId: listDeletedQuestionAnswers
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswerList'
/api/v1/event/question_answers/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- QuestionAnswers
summary: Restore deleted QuestionAnswer
operationId: restoreQuestionAnswer
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswer'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/question_answers/empty:
delete:
tags:
- QuestionAnswers
summary: Empty trash for QuestionAnswers
operationId: emptyTrashQuestionAnswers
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/question_answers/delete/bulk:
post:
tags:
- QuestionAnswers
summary: Bulk soft-delete QuestionAnswers by ids (atomic)
operationId: bulkDeleteQuestionAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/question_answers/restore/bulk:
post:
tags:
- QuestionAnswers
summary: Bulk restore QuestionAnswers by ids (atomic)
operationId: bulkRestoreQuestionAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/question_answers/restore/all:
post:
tags:
- QuestionAnswers
summary: Restore all soft-deleted QuestionAnswers
operationId: restoreAllQuestionAnswers
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/question_answers/trash/bulk:
delete:
tags:
- QuestionAnswers
summary: Bulk permanently-delete QuestionAnswers from trash by ids (atomic)
operationId: bulkPermanentDeleteQuestionAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_questions:
get:
tags:
- RegistrationQuestions
summary: List RegistrationQuestions
description: Get a paginated list of RegistrationQuestions with optional filtering and sorting
operationId: listRegistrationQuestions
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestionList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- RegistrationQuestions
summary: Create RegistrationQuestion
description: Create a new RegistrationQuestion
operationId: createRegistrationQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRegistrationQuestionRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/registration_questions/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- RegistrationQuestions
summary: Get RegistrationQuestion by ID
operationId: getRegistrationQuestion
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- RegistrationQuestions
summary: Update RegistrationQuestion (full)
operationId: updateRegistrationQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- RegistrationQuestions
summary: Update RegistrationQuestion (partial)
operationId: patchRegistrationQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchRegistrationQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- RegistrationQuestions
summary: Delete RegistrationQuestion (soft)
operationId: deleteRegistrationQuestion
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registration_questions/bulk:
post:
tags:
- RegistrationQuestions
summary: Bulk create RegistrationQuestions
operationId: bulkCreateRegistrationQuestions
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateRegistrationQuestionRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RegistrationQuestion'
put:
tags:
- RegistrationQuestions
summary: Bulk update RegistrationQuestions (full, atomic)
operationId: bulkUpdateRegistrationQuestions
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateRegistrationQuestionRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- RegistrationQuestions
summary: Bulk partial-update RegistrationQuestions (atomic)
operationId: bulkPatchRegistrationQuestions
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_questions/upsert:
post:
tags:
- RegistrationQuestions
summary: Upsert RegistrationQuestion
operationId: upsertRegistrationQuestion
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationQuestionRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
/api/v1/event/registration_questions/trash:
get:
tags:
- RegistrationQuestions
summary: List deleted RegistrationQuestions
operationId: listDeletedRegistrationQuestions
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestionList'
/api/v1/event/registration_questions/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- RegistrationQuestions
summary: Restore deleted RegistrationQuestion
operationId: restoreRegistrationQuestion
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestion'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registration_questions/empty:
delete:
tags:
- RegistrationQuestions
summary: Empty trash for RegistrationQuestions
operationId: emptyTrashRegistrationQuestions
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/registration_questions/delete/bulk:
post:
tags:
- RegistrationQuestions
summary: Bulk soft-delete RegistrationQuestions by ids (atomic)
operationId: bulkDeleteRegistrationQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_questions/restore/bulk:
post:
tags:
- RegistrationQuestions
summary: Bulk restore RegistrationQuestions by ids (atomic)
operationId: bulkRestoreRegistrationQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationQuestionBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_questions/restore/all:
post:
tags:
- RegistrationQuestions
summary: Restore all soft-deleted RegistrationQuestions
operationId: restoreAllRegistrationQuestions
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/registration_questions/trash/bulk:
delete:
tags:
- RegistrationQuestions
summary: Bulk permanently-delete RegistrationQuestions from trash by ids (atomic)
operationId: bulkPermanentDeleteRegistrationQuestions
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registrations:
get:
tags:
- Registrations
summary: List Registrations
description: Get a paginated list of Registrations with optional filtering and sorting
operationId: listRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Registrations
summary: Create Registration
description: Create a new Registration
operationId: createRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/registrations/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Registrations
summary: Get Registration by ID
operationId: getRegistration
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Registrations
summary: Update Registration (full)
operationId: updateRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Registrations
summary: Update Registration (partial)
operationId: patchRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Registrations
summary: Delete Registration (soft)
operationId: deleteRegistration
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registrations/bulk:
post:
tags:
- Registrations
summary: Bulk create Registrations
operationId: bulkCreateRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateRegistrationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Registration'
put:
tags:
- Registrations
summary: Bulk update Registrations (full, atomic)
operationId: bulkUpdateRegistrations
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateRegistrationRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Registrations
summary: Bulk partial-update Registrations (atomic)
operationId: bulkPatchRegistrations
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registrations/upsert:
post:
tags:
- Registrations
summary: Upsert Registration
operationId: upsertRegistration
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
/api/v1/event/registrations/trash:
get:
tags:
- Registrations
summary: List deleted Registrations
operationId: listDeletedRegistrations
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationList'
/api/v1/event/registrations/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Registrations
summary: Restore deleted Registration
operationId: restoreRegistration
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Registration'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registrations/empty:
delete:
tags:
- Registrations
summary: Empty trash for Registrations
operationId: emptyTrashRegistrations
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/registrations/delete/bulk:
post:
tags:
- Registrations
summary: Bulk soft-delete Registrations by ids (atomic)
operationId: bulkDeleteRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registrations/restore/bulk:
post:
tags:
- Registrations
summary: Bulk restore Registrations by ids (atomic)
operationId: bulkRestoreRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registrations/restore/all:
post:
tags:
- Registrations
summary: Restore all soft-deleted Registrations
operationId: restoreAllRegistrations
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/registrations/trash/bulk:
delete:
tags:
- Registrations
summary: Bulk permanently-delete Registrations from trash by ids (atomic)
operationId: bulkPermanentDeleteRegistrations
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_answers:
get:
tags:
- RegistrationAnswers
summary: List RegistrationAnswers
description: Get a paginated list of RegistrationAnswers with optional filtering and sorting
operationId: listRegistrationAnswers
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswerList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- RegistrationAnswers
summary: Create RegistrationAnswer
description: Create a new RegistrationAnswer
operationId: createRegistrationAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRegistrationAnswerRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/registration_answers/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- RegistrationAnswers
summary: Get RegistrationAnswer by ID
operationId: getRegistrationAnswer
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- RegistrationAnswers
summary: Update RegistrationAnswer (full)
operationId: updateRegistrationAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- RegistrationAnswers
summary: Update RegistrationAnswer (partial)
operationId: patchRegistrationAnswer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchRegistrationAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- RegistrationAnswers
summary: Delete RegistrationAnswer (soft)
operationId: deleteRegistrationAnswer
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registration_answers/bulk:
post:
tags:
- RegistrationAnswers
summary: Bulk create RegistrationAnswers
operationId: bulkCreateRegistrationAnswers
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateRegistrationAnswerRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RegistrationAnswer'
put:
tags:
- RegistrationAnswers
summary: Bulk update RegistrationAnswers (full, atomic)
operationId: bulkUpdateRegistrationAnswers
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateRegistrationAnswerRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- RegistrationAnswers
summary: Bulk partial-update RegistrationAnswers (atomic)
operationId: bulkPatchRegistrationAnswers
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_answers/upsert:
post:
tags:
- RegistrationAnswers
summary: Upsert RegistrationAnswer
operationId: upsertRegistrationAnswer
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRegistrationAnswerRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
/api/v1/event/registration_answers/trash:
get:
tags:
- RegistrationAnswers
summary: List deleted RegistrationAnswers
operationId: listDeletedRegistrationAnswers
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswerList'
/api/v1/event/registration_answers/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- RegistrationAnswers
summary: Restore deleted RegistrationAnswer
operationId: restoreRegistrationAnswer
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswer'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/registration_answers/empty:
delete:
tags:
- RegistrationAnswers
summary: Empty trash for RegistrationAnswers
operationId: emptyTrashRegistrationAnswers
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/registration_answers/delete/bulk:
post:
tags:
- RegistrationAnswers
summary: Bulk soft-delete RegistrationAnswers by ids (atomic)
operationId: bulkDeleteRegistrationAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_answers/restore/bulk:
post:
tags:
- RegistrationAnswers
summary: Bulk restore RegistrationAnswers by ids (atomic)
operationId: bulkRestoreRegistrationAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationAnswerBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/registration_answers/restore/all:
post:
tags:
- RegistrationAnswers
summary: Restore all soft-deleted RegistrationAnswers
operationId: restoreAllRegistrationAnswers
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/registration_answers/trash/bulk:
delete:
tags:
- RegistrationAnswers
summary: Bulk permanently-delete RegistrationAnswers from trash by ids (atomic)
operationId: bulkPermanentDeleteRegistrationAnswers
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/slots:
get:
tags:
- Slots
summary: List Slots
description: Get a paginated list of Slots with optional filtering and sorting
operationId: listSlots
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/SlotList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Slots
summary: Create Slot
description: Create a new Slot
operationId: createSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSlotRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/slots/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Slots
summary: Get Slot by ID
operationId: getSlot
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Slots
summary: Update Slot (full)
operationId: updateSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Slots
summary: Update Slot (partial)
operationId: patchSlot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Slots
summary: Delete Slot (soft)
operationId: deleteSlot
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/slots/bulk:
post:
tags:
- Slots
summary: Bulk create Slots
operationId: bulkCreateSlots
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateSlotRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Slot'
put:
tags:
- Slots
summary: Bulk update Slots (full, atomic)
operationId: bulkUpdateSlots
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateSlotRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/SlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Slots
summary: Bulk partial-update Slots (atomic)
operationId: bulkPatchSlots
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/SlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/slots/upsert:
post:
tags:
- Slots
summary: Upsert Slot
operationId: upsertSlot
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSlotRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
/api/v1/event/slots/trash:
get:
tags:
- Slots
summary: List deleted Slots
operationId: listDeletedSlots
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/SlotList'
/api/v1/event/slots/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Slots
summary: Restore deleted Slot
operationId: restoreSlot
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Slot'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/slots/empty:
delete:
tags:
- Slots
summary: Empty trash for Slots
operationId: emptyTrashSlots
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/slots/delete/bulk:
post:
tags:
- Slots
summary: Bulk soft-delete Slots by ids (atomic)
operationId: bulkDeleteSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/slots/restore/bulk:
post:
tags:
- Slots
summary: Bulk restore Slots by ids (atomic)
operationId: bulkRestoreSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/SlotBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/slots/restore/all:
post:
tags:
- Slots
summary: Restore all soft-deleted Slots
operationId: restoreAllSlots
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/slots/trash/bulk:
delete:
tags:
- Slots
summary: Bulk permanently-delete Slots from trash by ids (atomic)
operationId: bulkPermanentDeleteSlots
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/stages:
get:
tags:
- Stages
summary: List Stages
description: Get a paginated list of Stages with optional filtering and sorting
operationId: listStages
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StageList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Stages
summary: Create Stage
description: Create a new Stage
operationId: createStage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStageRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/stages/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Stages
summary: Get Stage by ID
operationId: getStage
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Stages
summary: Update Stage (full)
operationId: updateStage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStageRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Stages
summary: Update Stage (partial)
operationId: patchStage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchStageRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Stages
summary: Delete Stage (soft)
operationId: deleteStage
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/stages/bulk:
post:
tags:
- Stages
summary: Bulk create Stages
operationId: bulkCreateStages
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateStageRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Stage'
put:
tags:
- Stages
summary: Bulk update Stages (full, atomic)
operationId: bulkUpdateStages
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateStageRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/StageBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Stages
summary: Bulk partial-update Stages (atomic)
operationId: bulkPatchStages
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/StageBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/stages/upsert:
post:
tags:
- Stages
summary: Upsert Stage
operationId: upsertStage
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStageRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
/api/v1/event/stages/trash:
get:
tags:
- Stages
summary: List deleted Stages
operationId: listDeletedStages
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StageList'
/api/v1/event/stages/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Stages
summary: Restore deleted Stage
operationId: restoreStage
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Stage'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/stages/empty:
delete:
tags:
- Stages
summary: Empty trash for Stages
operationId: emptyTrashStages
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/stages/delete/bulk:
post:
tags:
- Stages
summary: Bulk soft-delete Stages by ids (atomic)
operationId: bulkDeleteStages
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/stages/restore/bulk:
post:
tags:
- Stages
summary: Bulk restore Stages by ids (atomic)
operationId: bulkRestoreStages
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/StageBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/stages/restore/all:
post:
tags:
- Stages
summary: Restore all soft-deleted Stages
operationId: restoreAllStages
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/stages/trash/bulk:
delete:
tags:
- Stages
summary: Bulk permanently-delete Stages from trash by ids (atomic)
operationId: bulkPermanentDeleteStages
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tag_categories:
get:
tags:
- TagCategories
summary: List TagCategories
description: Get a paginated list of TagCategories with optional filtering and sorting
operationId: listTagCategories
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategoryList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- TagCategories
summary: Create TagCategory
description: Create a new TagCategory
operationId: createTagCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagCategoryRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/tag_categories/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- TagCategories
summary: Get TagCategory by ID
operationId: getTagCategory
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- TagCategories
summary: Update TagCategory (full)
operationId: updateTagCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- TagCategories
summary: Update TagCategory (partial)
operationId: patchTagCategory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTagCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- TagCategories
summary: Delete TagCategory (soft)
operationId: deleteTagCategory
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tag_categories/bulk:
post:
tags:
- TagCategories
summary: Bulk create TagCategories
operationId: bulkCreateTagCategories
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateTagCategoryRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TagCategory'
put:
tags:
- TagCategories
summary: Bulk update TagCategories (full, atomic)
operationId: bulkUpdateTagCategories
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateTagCategoryRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- TagCategories
summary: Bulk partial-update TagCategories (atomic)
operationId: bulkPatchTagCategories
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tag_categories/upsert:
post:
tags:
- TagCategories
summary: Upsert TagCategory
operationId: upsertTagCategory
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagCategoryRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
/api/v1/event/tag_categories/trash:
get:
tags:
- TagCategories
summary: List deleted TagCategories
operationId: listDeletedTagCategories
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategoryList'
/api/v1/event/tag_categories/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- TagCategories
summary: Restore deleted TagCategory
operationId: restoreTagCategory
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategory'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tag_categories/empty:
delete:
tags:
- TagCategories
summary: Empty trash for TagCategories
operationId: emptyTrashTagCategories
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/tag_categories/delete/bulk:
post:
tags:
- TagCategories
summary: Bulk soft-delete TagCategories by ids (atomic)
operationId: bulkDeleteTagCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tag_categories/restore/bulk:
post:
tags:
- TagCategories
summary: Bulk restore TagCategories by ids (atomic)
operationId: bulkRestoreTagCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TagCategoryBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tag_categories/restore/all:
post:
tags:
- TagCategories
summary: Restore all soft-deleted TagCategories
operationId: restoreAllTagCategories
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/tag_categories/trash/bulk:
delete:
tags:
- TagCategories
summary: Bulk permanently-delete TagCategories from trash by ids (atomic)
operationId: bulkPermanentDeleteTagCategories
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tags:
get:
tags:
- Tags
summary: List Tags
description: Get a paginated list of Tags with optional filtering and sorting
operationId: listTags
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TagList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Tags
summary: Create Tag
description: Create a new Tag
operationId: createTag
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/tags/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Tags
summary: Get Tag by ID
operationId: getTag
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Tags
summary: Update Tag (full)
operationId: updateTag
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Tags
summary: Update Tag (partial)
operationId: patchTag
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTagRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Tags
summary: Delete Tag (soft)
operationId: deleteTag
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tags/bulk:
post:
tags:
- Tags
summary: Bulk create Tags
operationId: bulkCreateTags
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateTagRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
put:
tags:
- Tags
summary: Bulk update Tags (full, atomic)
operationId: bulkUpdateTags
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateTagRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Tags
summary: Bulk partial-update Tags (atomic)
operationId: bulkPatchTags
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TagBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tags/upsert:
post:
tags:
- Tags
summary: Upsert Tag
operationId: upsertTag
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
/api/v1/event/tags/trash:
get:
tags:
- Tags
summary: List deleted Tags
operationId: listDeletedTags
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TagList'
/api/v1/event/tags/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Tags
summary: Restore deleted Tag
operationId: restoreTag
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tags/empty:
delete:
tags:
- Tags
summary: Empty trash for Tags
operationId: emptyTrashTags
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/tags/delete/bulk:
post:
tags:
- Tags
summary: Bulk soft-delete Tags by ids (atomic)
operationId: bulkDeleteTags
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tags/restore/bulk:
post:
tags:
- Tags
summary: Bulk restore Tags by ids (atomic)
operationId: bulkRestoreTags
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TagBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tags/restore/all:
post:
tags:
- Tags
summary: Restore all soft-deleted Tags
operationId: restoreAllTags
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/tags/trash/bulk:
delete:
tags:
- Tags
summary: Bulk permanently-delete Tags from trash by ids (atomic)
operationId: bulkPermanentDeleteTags
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tickets:
get:
tags:
- Tickets
summary: List Tickets
description: Get a paginated list of Tickets with optional filtering and sorting
operationId: listTickets
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TicketList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- Tickets
summary: Create Ticket
description: Create a new Ticket
operationId: createTicket
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTicketRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/tickets/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- Tickets
summary: Get Ticket by ID
operationId: getTicket
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Tickets
summary: Update Ticket (full)
operationId: updateTicket
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTicketRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- Tickets
summary: Update Ticket (partial)
operationId: patchTicket
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTicketRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Tickets
summary: Delete Ticket (soft)
operationId: deleteTicket
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tickets/bulk:
post:
tags:
- Tickets
summary: Bulk create Tickets
operationId: bulkCreateTickets
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateTicketRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Ticket'
put:
tags:
- Tickets
summary: Bulk update Tickets (full, atomic)
operationId: bulkUpdateTickets
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateTicketRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TicketBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- Tickets
summary: Bulk partial-update Tickets (atomic)
operationId: bulkPatchTickets
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TicketBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tickets/upsert:
post:
tags:
- Tickets
summary: Upsert Ticket
operationId: upsertTicket
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTicketRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
/api/v1/event/tickets/trash:
get:
tags:
- Tickets
summary: List deleted Tickets
operationId: listDeletedTickets
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TicketList'
/api/v1/event/tickets/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- Tickets
summary: Restore deleted Ticket
operationId: restoreTicket
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/tickets/empty:
delete:
tags:
- Tickets
summary: Empty trash for Tickets
operationId: emptyTrashTickets
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/tickets/delete/bulk:
post:
tags:
- Tickets
summary: Bulk soft-delete Tickets by ids (atomic)
operationId: bulkDeleteTickets
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tickets/restore/bulk:
post:
tags:
- Tickets
summary: Bulk restore Tickets by ids (atomic)
operationId: bulkRestoreTickets
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TicketBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/tickets/restore/all:
post:
tags:
- Tickets
summary: Restore all soft-deleted Tickets
operationId: restoreAllTickets
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/tickets/trash/bulk:
delete:
tags:
- Tickets
summary: Bulk permanently-delete Tickets from trash by ids (atomic)
operationId: bulkPermanentDeleteTickets
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_mails:
get:
tags:
- TypeMails
summary: List TypeMails
description: Get a paginated list of TypeMails with optional filtering and sorting
operationId: listTypeMails
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMailList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
tags:
- TypeMails
summary: Create TypeMail
description: Create a new TypeMail
operationId: createTypeMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTypeMailRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/event/type_mails/{id}:
parameters:
- $ref: '#/components/parameters/IdParam'
get:
tags:
- TypeMails
summary: Get TypeMail by ID
operationId: getTypeMail
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- TypeMails
summary: Update TypeMail (full)
operationId: updateTypeMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTypeMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
'404':
$ref: '#/components/responses/NotFound'
patch:
tags:
- TypeMails
summary: Update TypeMail (partial)
operationId: patchTypeMail
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTypeMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- TypeMails
summary: Delete TypeMail (soft)
operationId: deleteTypeMail
responses:
'204':
description: Deleted
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/type_mails/bulk:
post:
tags:
- TypeMails
summary: Bulk create TypeMails
operationId: bulkCreateTypeMails
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreateTypeMailRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TypeMail'
put:
tags:
- TypeMails
summary: Bulk update TypeMails (full, atomic)
operationId: bulkUpdateTypeMails
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
allOf:
- type: object
required: [id]
properties:
id:
type: string
- $ref: '#/components/schemas/UpdateTypeMailRequest'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
patch:
tags:
- TypeMails
summary: Bulk partial-update TypeMails (atomic)
operationId: bulkPatchTypeMails
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: object
required: [ids, patch]
properties:
ids:
type: array
items: { type: string }
patch:
type: object
additionalProperties: true
- type: object
required: [items]
properties:
items:
type: array
items:
type: object
required: [id, patch]
properties:
id: { type: string }
patch: { type: object, additionalProperties: true }
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_mails/upsert:
post:
tags:
- TypeMails
summary: Upsert TypeMail
operationId: upsertTypeMail
parameters:
- name: key_field
in: query
schema:
type: string
- name: key_value
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTypeMailRequest'
responses:
'200':
description: Upserted
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
/api/v1/event/type_mails/trash:
get:
tags:
- TypeMails
summary: List deleted TypeMails
operationId: listDeletedTypeMails
parameters:
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMailList'
/api/v1/event/type_mails/{id}/restore:
parameters:
- $ref: '#/components/parameters/IdParam'
post:
tags:
- TypeMails
summary: Restore deleted TypeMail
operationId: restoreTypeMail
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMail'
'404':
$ref: '#/components/responses/NotFound'
/api/v1/event/type_mails/empty:
delete:
tags:
- TypeMails
summary: Empty trash for TypeMails
operationId: emptyTrashTypeMails
responses:
'200':
description: Trash emptied
content:
application/json:
schema:
type: object
properties:
deleted_count:
type: integer
/api/v1/event/type_mails/delete/bulk:
post:
tags:
- TypeMails
summary: Bulk soft-delete TypeMails by ids (atomic)
operationId: bulkDeleteTypeMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Soft-deleted
content:
application/json:
schema:
type: object
properties:
soft_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_mails/restore/bulk:
post:
tags:
- TypeMails
summary: Bulk restore TypeMails by ids (atomic)
operationId: bulkRestoreTypeMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Restored
content:
application/json:
schema:
$ref: '#/components/schemas/TypeMailBulkResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/v1/event/type_mails/restore/all:
post:
tags:
- TypeMails
summary: Restore all soft-deleted TypeMails
operationId: restoreAllTypeMails
responses:
'200':
description: Restored
content:
application/json:
schema:
type: object
properties:
restored: { type: integer }
/api/v1/event/type_mails/trash/bulk:
delete:
tags:
- TypeMails
summary: Bulk permanently-delete TypeMails from trash by ids (atomic)
operationId: bulkPermanentDeleteTypeMails
requestBody:
$ref: '#/components/requestBodies/BatchIds'
responses:
'200':
description: Permanently deleted
content:
application/json:
schema:
type: object
properties:
permanently_deleted: { type: integer }
'400':
$ref: '#/components/responses/BadRequest'
components:
schemas:
BoothCategory:
type: object
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 20000
product_id:
nullable: true
type: string
format: uuid
price:
nullable: true
type: string
metadata:
type: object
BoothCategoryBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BoothCategory'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateBoothCategoryRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 20000
product_id:
nullable: true
type: string
format: uuid
price:
nullable: true
type: string
metadata:
type: object
UpdateBoothCategoryRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 20000
product_id:
nullable: true
type: string
format: uuid
price:
nullable: true
type: string
metadata:
type: object
PatchBoothCategoryRequest:
type: object
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 20000
product_id:
nullable: true
type: string
format: uuid
price:
nullable: true
type: string
metadata:
type: object
BoothCategoryList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BoothCategory'
meta:
$ref: '#/components/schemas/PaginationMeta'
Booth:
type: object
required:
- id
- event_id
- booth_category_id
- name
- state
- is_paid
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
state:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
sale_order_line_id:
nullable: true
type: string
format: uuid
is_paid:
type: boolean
metadata:
type: object
BoothBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Booth'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateBoothRequest:
type: object
required:
- event_id
- booth_category_id
- name
- state
- is_paid
- metadata
properties:
event_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
state:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
sale_order_line_id:
nullable: true
type: string
format: uuid
is_paid:
type: boolean
metadata:
type: object
UpdateBoothRequest:
type: object
required:
- event_id
- booth_category_id
- name
- state
- is_paid
- metadata
properties:
event_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
state:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
sale_order_line_id:
nullable: true
type: string
format: uuid
is_paid:
type: boolean
metadata:
type: object
PatchBoothRequest:
type: object
properties:
event_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
state:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
sale_order_line_id:
nullable: true
type: string
format: uuid
is_paid:
type: boolean
metadata:
type: object
BoothList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Booth'
meta:
$ref: '#/components/schemas/PaginationMeta'
TypeBooth:
type: object
required:
- id
- event_type_id
- booth_category_id
- name
- metadata
properties:
id:
type: string
format: uuid
event_type_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
metadata:
type: object
TypeBoothBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TypeBooth'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateTypeBoothRequest:
type: object
required:
- event_type_id
- booth_category_id
- name
- metadata
properties:
event_type_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
metadata:
type: object
UpdateTypeBoothRequest:
type: object
required:
- event_type_id
- booth_category_id
- name
- metadata
properties:
event_type_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
metadata:
type: object
PatchTypeBoothRequest:
type: object
properties:
event_type_id:
type: string
format: uuid
booth_category_id:
type: string
format: uuid
name:
type: string
maxLength: 200
metadata:
type: object
TypeBoothList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TypeBooth'
meta:
$ref: '#/components/schemas/PaginationMeta'
BoothBooking:
type: object
required:
- id
- event_booth_id
- status
- metadata
properties:
id:
type: string
format: uuid
event_booth_id:
type: string
format: uuid
sale_order_line_id:
nullable: true
type: string
format: uuid
status:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
metadata:
type: object
BoothBookingBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BoothBooking'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateBoothBookingRequest:
type: object
required:
- event_booth_id
- status
- metadata
properties:
event_booth_id:
type: string
format: uuid
sale_order_line_id:
nullable: true
type: string
format: uuid
status:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
metadata:
type: object
UpdateBoothBookingRequest:
type: object
required:
- event_booth_id
- status
- metadata
properties:
event_booth_id:
type: string
format: uuid
sale_order_line_id:
nullable: true
type: string
format: uuid
status:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
metadata:
type: object
PatchBoothBookingRequest:
type: object
properties:
event_booth_id:
type: string
format: uuid
sale_order_line_id:
nullable: true
type: string
format: uuid
status:
type: string
partner_id:
nullable: true
type: string
format: uuid
contact_name:
nullable: true
type: string
maxLength: 200
contact_email:
nullable: true
type: string
format: email
maxLength: 254
contact_phone:
nullable: true
type: string
maxLength: 40
metadata:
type: object
BoothBookingList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BoothBooking'
meta:
$ref: '#/components/schemas/PaginationMeta'
Event:
type: object
required:
- id
- name
- stage_id
- kanban_state
- date_begin
- date_end
- date_tz
- is_multi_slots
- event_slot_count
- seats_limited
- seats_max
- badge_format
- is_published
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 200
event_type_id:
nullable: true
type: string
format: uuid
stage_id:
type: string
format: uuid
kanban_state:
type: string
date_begin:
type: string
format: date-time
date_end:
type: string
format: date-time
date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
event_slot_count:
type: integer
format: int32
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
address_id:
nullable: true
type: string
format: uuid
organizer_id:
nullable: true
type: string
format: uuid
user_id:
nullable: true
type: string
format: uuid
event_url:
nullable: true
type: string
format: uri
badge_format:
type: string
is_published:
type: boolean
date_publish:
nullable: true
type: string
format: date-time
metadata:
type: object
EventBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Event'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateEventRequest:
type: object
required:
- name
- stage_id
- kanban_state
- date_begin
- date_end
- date_tz
- is_multi_slots
- event_slot_count
- seats_limited
- seats_max
- badge_format
- is_published
- metadata
properties:
name:
type: string
maxLength: 200
event_type_id:
nullable: true
type: string
format: uuid
stage_id:
type: string
format: uuid
kanban_state:
type: string
date_begin:
type: string
format: date-time
date_end:
type: string
format: date-time
date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
event_slot_count:
type: integer
format: int32
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
address_id:
nullable: true
type: string
format: uuid
organizer_id:
nullable: true
type: string
format: uuid
user_id:
nullable: true
type: string
format: uuid
event_url:
nullable: true
type: string
format: uri
badge_format:
type: string
is_published:
type: boolean
date_publish:
nullable: true
type: string
format: date-time
metadata:
type: object
UpdateEventRequest:
type: object
required:
- name
- stage_id
- kanban_state
- date_begin
- date_end
- date_tz
- is_multi_slots
- event_slot_count
- seats_limited
- seats_max
- badge_format
- is_published
- metadata
properties:
name:
type: string
maxLength: 200
event_type_id:
nullable: true
type: string
format: uuid
stage_id:
type: string
format: uuid
kanban_state:
type: string
date_begin:
type: string
format: date-time
date_end:
type: string
format: date-time
date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
event_slot_count:
type: integer
format: int32
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
address_id:
nullable: true
type: string
format: uuid
organizer_id:
nullable: true
type: string
format: uuid
user_id:
nullable: true
type: string
format: uuid
event_url:
nullable: true
type: string
format: uri
badge_format:
type: string
is_published:
type: boolean
date_publish:
nullable: true
type: string
format: date-time
metadata:
type: object
PatchEventRequest:
type: object
properties:
name:
type: string
maxLength: 200
event_type_id:
nullable: true
type: string
format: uuid
stage_id:
type: string
format: uuid
kanban_state:
type: string
date_begin:
type: string
format: date-time
date_end:
type: string
format: date-time
date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
event_slot_count:
type: integer
format: int32
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
address_id:
nullable: true
type: string
format: uuid
organizer_id:
nullable: true
type: string
format: uuid
user_id:
nullable: true
type: string
format: uuid
event_url:
nullable: true
type: string
format: uri
badge_format:
type: string
is_published:
type: boolean
date_publish:
nullable: true
type: string
format: date-time
metadata:
type: object
EventList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Event'
meta:
$ref: '#/components/schemas/PaginationMeta'
EventType:
type: object
required:
- id
- name
- seats_limited
- seats_max
- default_date_tz
- is_multi_slots
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 2000
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
default_date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
metadata:
type: object
EventTypeBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/EventType'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateEventTypeRequest:
type: object
required:
- name
- seats_limited
- seats_max
- default_date_tz
- is_multi_slots
- metadata
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 2000
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
default_date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
metadata:
type: object
UpdateEventTypeRequest:
type: object
required:
- name
- seats_limited
- seats_max
- default_date_tz
- is_multi_slots
- metadata
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 2000
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
default_date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
metadata:
type: object
PatchEventTypeRequest:
type: object
properties:
name:
type: string
maxLength: 120
description:
nullable: true
type: string
maxLength: 2000
seats_limited:
type: boolean
seats_max:
type: integer
format: int32
default_date_tz:
type: string
maxLength: 60
is_multi_slots:
type: boolean
metadata:
type: object
EventTypeList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/EventType'
meta:
$ref: '#/components/schemas/PaginationMeta'
LeadProvenance:
type: object
required:
- id
- rule_id
- event_id
- group_key
- grouping
- metadata
properties:
id:
type: string
format: uuid
rule_id:
type: string
format: uuid
event_id:
type: string
format: uuid
lead_id:
nullable: true
type: string
format: uuid
group_key:
type: string
maxLength: 160
grouping:
type: string
metadata:
type: object
LeadProvenanceBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadProvenance'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateLeadProvenanceRequest:
type: object
required:
- rule_id
- event_id
- group_key
- grouping
- metadata
properties:
rule_id:
type: string
format: uuid
event_id:
type: string
format: uuid
lead_id:
nullable: true
type: string
format: uuid
group_key:
type: string
maxLength: 160
grouping:
type: string
metadata:
type: object
UpdateLeadProvenanceRequest:
type: object
required:
- rule_id
- event_id
- group_key
- grouping
- metadata
properties:
rule_id:
type: string
format: uuid
event_id:
type: string
format: uuid
lead_id:
nullable: true
type: string
format: uuid
group_key:
type: string
maxLength: 160
grouping:
type: string
metadata:
type: object
PatchLeadProvenanceRequest:
type: object
properties:
rule_id:
type: string
format: uuid
event_id:
type: string
format: uuid
lead_id:
nullable: true
type: string
format: uuid
group_key:
type: string
maxLength: 160
grouping:
type: string
metadata:
type: object
LeadProvenanceList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadProvenance'
meta:
$ref: '#/components/schemas/PaginationMeta'
LeadProvenanceRegistration:
type: object
required:
- id
- provenance_id
- registration_id
- metadata
properties:
id:
type: string
format: uuid
provenance_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
metadata:
type: object
LeadProvenanceRegistrationBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadProvenanceRegistration'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateLeadProvenanceRegistrationRequest:
type: object
required:
- provenance_id
- registration_id
- metadata
properties:
provenance_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
metadata:
type: object
UpdateLeadProvenanceRegistrationRequest:
type: object
required:
- provenance_id
- registration_id
- metadata
properties:
provenance_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
metadata:
type: object
PatchLeadProvenanceRegistrationRequest:
type: object
properties:
provenance_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
metadata:
type: object
LeadProvenanceRegistrationList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadProvenanceRegistration'
meta:
$ref: '#/components/schemas/PaginationMeta'
LeadRequest:
type: object
required:
- id
- event_id
- done
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
done:
type: boolean
error_detail:
nullable: true
type: string
maxLength: 500
claimed_at:
nullable: true
type: string
format: date-time
metadata:
type: object
LeadRequestBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRequest'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateLeadRequestRequest:
type: object
required:
- event_id
- done
- metadata
properties:
event_id:
type: string
format: uuid
done:
type: boolean
error_detail:
nullable: true
type: string
maxLength: 500
claimed_at:
nullable: true
type: string
format: date-time
metadata:
type: object
UpdateLeadRequestRequest:
type: object
required:
- event_id
- done
- metadata
properties:
event_id:
type: string
format: uuid
done:
type: boolean
error_detail:
nullable: true
type: string
maxLength: 500
claimed_at:
nullable: true
type: string
format: date-time
metadata:
type: object
PatchLeadRequestRequest:
type: object
properties:
event_id:
type: string
format: uuid
done:
type: boolean
error_detail:
nullable: true
type: string
maxLength: 500
claimed_at:
nullable: true
type: string
format: date-time
metadata:
type: object
LeadRequestList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRequest'
meta:
$ref: '#/components/schemas/PaginationMeta'
LeadRule:
type: object
required:
- id
- name
- basis
- on_create
- on_confirm
- on_done
- active
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
event_id:
nullable: true
type: string
format: uuid
basis:
type: string
on_create:
type: boolean
on_confirm:
type: boolean
on_done:
type: boolean
active:
type: boolean
metadata:
type: object
LeadRuleBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRule'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateLeadRuleRequest:
type: object
required:
- name
- basis
- on_create
- on_confirm
- on_done
- active
- metadata
properties:
name:
type: string
maxLength: 120
event_id:
nullable: true
type: string
format: uuid
basis:
type: string
on_create:
type: boolean
on_confirm:
type: boolean
on_done:
type: boolean
active:
type: boolean
metadata:
type: object
UpdateLeadRuleRequest:
type: object
required:
- name
- basis
- on_create
- on_confirm
- on_done
- active
- metadata
properties:
name:
type: string
maxLength: 120
event_id:
nullable: true
type: string
format: uuid
basis:
type: string
on_create:
type: boolean
on_confirm:
type: boolean
on_done:
type: boolean
active:
type: boolean
metadata:
type: object
PatchLeadRuleRequest:
type: object
properties:
name:
type: string
maxLength: 120
event_id:
nullable: true
type: string
format: uuid
basis:
type: string
on_create:
type: boolean
on_confirm:
type: boolean
on_done:
type: boolean
active:
type: boolean
metadata:
type: object
LeadRuleList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRule'
meta:
$ref: '#/components/schemas/PaginationMeta'
LeadRulePredicate:
type: object
required:
- id
- rule_id
- axis
- value_ids
- metadata
properties:
id:
type: string
format: uuid
rule_id:
type: string
format: uuid
axis:
type: string
question_id:
nullable: true
type: string
format: uuid
value_ids:
type: object
metadata:
type: object
LeadRulePredicateBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRulePredicate'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateLeadRulePredicateRequest:
type: object
required:
- rule_id
- axis
- value_ids
- metadata
properties:
rule_id:
type: string
format: uuid
axis:
type: string
question_id:
nullable: true
type: string
format: uuid
value_ids:
type: object
metadata:
type: object
UpdateLeadRulePredicateRequest:
type: object
required:
- rule_id
- axis
- value_ids
- metadata
properties:
rule_id:
type: string
format: uuid
axis:
type: string
question_id:
nullable: true
type: string
format: uuid
value_ids:
type: object
metadata:
type: object
PatchLeadRulePredicateRequest:
type: object
properties:
rule_id:
type: string
format: uuid
axis:
type: string
question_id:
nullable: true
type: string
format: uuid
value_ids:
type: object
metadata:
type: object
LeadRulePredicateList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/LeadRulePredicate'
meta:
$ref: '#/components/schemas/PaginationMeta'
Mail:
type: object
required:
- id
- event_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- mail_done
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
error_datetime:
nullable: true
type: string
format: date-time
error_kind:
nullable: true
type: string
metadata:
type: object
MailBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Mail'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateMailRequest:
type: object
required:
- event_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- mail_done
- metadata
properties:
event_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
error_datetime:
nullable: true
type: string
format: date-time
error_kind:
nullable: true
type: string
metadata:
type: object
UpdateMailRequest:
type: object
required:
- event_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- mail_done
- metadata
properties:
event_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
error_datetime:
nullable: true
type: string
format: date-time
error_kind:
nullable: true
type: string
metadata:
type: object
PatchMailRequest:
type: object
properties:
event_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
error_datetime:
nullable: true
type: string
format: date-time
error_kind:
nullable: true
type: string
metadata:
type: object
MailList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Mail'
meta:
$ref: '#/components/schemas/PaginationMeta'
MailRegistration:
type: object
required:
- id
- scheduler_id
- registration_id
- mail_sent
- metadata
properties:
id:
type: string
format: uuid
scheduler_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_sent:
type: boolean
outcome:
nullable: true
type: string
maxLength: 40
metadata:
type: object
MailRegistrationBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MailRegistration'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateMailRegistrationRequest:
type: object
required:
- scheduler_id
- registration_id
- mail_sent
- metadata
properties:
scheduler_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_sent:
type: boolean
outcome:
nullable: true
type: string
maxLength: 40
metadata:
type: object
UpdateMailRegistrationRequest:
type: object
required:
- scheduler_id
- registration_id
- mail_sent
- metadata
properties:
scheduler_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_sent:
type: boolean
outcome:
nullable: true
type: string
maxLength: 40
metadata:
type: object
PatchMailRegistrationRequest:
type: object
properties:
scheduler_id:
type: string
format: uuid
registration_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_sent:
type: boolean
outcome:
nullable: true
type: string
maxLength: 40
metadata:
type: object
MailRegistrationList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MailRegistration'
meta:
$ref: '#/components/schemas/PaginationMeta'
MailSlot:
type: object
required:
- id
- scheduler_id
- slot_id
- mail_done
- metadata
properties:
id:
type: string
format: uuid
scheduler_id:
type: string
format: uuid
slot_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
metadata:
type: object
MailSlotBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MailSlot'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateMailSlotRequest:
type: object
required:
- scheduler_id
- slot_id
- mail_done
- metadata
properties:
scheduler_id:
type: string
format: uuid
slot_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
metadata:
type: object
UpdateMailSlotRequest:
type: object
required:
- scheduler_id
- slot_id
- mail_done
- metadata
properties:
scheduler_id:
type: string
format: uuid
slot_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
metadata:
type: object
PatchMailSlotRequest:
type: object
properties:
scheduler_id:
type: string
format: uuid
slot_id:
type: string
format: uuid
scheduled_date:
nullable: true
type: string
format: date-time
mail_done:
type: boolean
last_registration_id:
nullable: true
type: string
format: uuid
metadata:
type: object
MailSlotList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MailSlot'
meta:
$ref: '#/components/schemas/PaginationMeta'
Question:
type: object
required:
- id
- question
- question_kind
- is_default
- is_reusable
- once_per_order
- metadata
properties:
id:
type: string
format: uuid
question:
type: string
maxLength: 500
question_kind:
type: string
is_default:
type: boolean
is_reusable:
type: boolean
once_per_order:
type: boolean
metadata:
type: object
QuestionBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Question'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateQuestionRequest:
type: object
required:
- question
- question_kind
- is_default
- is_reusable
- once_per_order
- metadata
properties:
question:
type: string
maxLength: 500
question_kind:
type: string
is_default:
type: boolean
is_reusable:
type: boolean
once_per_order:
type: boolean
metadata:
type: object
UpdateQuestionRequest:
type: object
required:
- question
- question_kind
- is_default
- is_reusable
- once_per_order
- metadata
properties:
question:
type: string
maxLength: 500
question_kind:
type: string
is_default:
type: boolean
is_reusable:
type: boolean
once_per_order:
type: boolean
metadata:
type: object
PatchQuestionRequest:
type: object
properties:
question:
type: string
maxLength: 500
question_kind:
type: string
is_default:
type: boolean
is_reusable:
type: boolean
once_per_order:
type: boolean
metadata:
type: object
QuestionList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Question'
meta:
$ref: '#/components/schemas/PaginationMeta'
QuestionAnswer:
type: object
required:
- id
- question_id
- name
- sequence
- metadata
properties:
id:
type: string
format: uuid
question_id:
type: string
format: uuid
name:
type: string
maxLength: 200
sequence:
type: integer
format: int32
metadata:
type: object
QuestionAnswerBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/QuestionAnswer'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateQuestionAnswerRequest:
type: object
required:
- question_id
- name
- sequence
- metadata
properties:
question_id:
type: string
format: uuid
name:
type: string
maxLength: 200
sequence:
type: integer
format: int32
metadata:
type: object
UpdateQuestionAnswerRequest:
type: object
required:
- question_id
- name
- sequence
- metadata
properties:
question_id:
type: string
format: uuid
name:
type: string
maxLength: 200
sequence:
type: integer
format: int32
metadata:
type: object
PatchQuestionAnswerRequest:
type: object
properties:
question_id:
type: string
format: uuid
name:
type: string
maxLength: 200
sequence:
type: integer
format: int32
metadata:
type: object
QuestionAnswerList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/QuestionAnswer'
meta:
$ref: '#/components/schemas/PaginationMeta'
RegistrationQuestion:
type: object
required:
- id
- question_id
- sequence
- metadata
properties:
id:
type: string
format: uuid
event_id:
nullable: true
type: string
format: uuid
event_type_id:
nullable: true
type: string
format: uuid
question_id:
type: string
format: uuid
sequence:
type: integer
format: int32
metadata:
type: object
RegistrationQuestionBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RegistrationQuestion'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateRegistrationQuestionRequest:
type: object
required:
- question_id
- sequence
- metadata
properties:
event_id:
nullable: true
type: string
format: uuid
event_type_id:
nullable: true
type: string
format: uuid
question_id:
type: string
format: uuid
sequence:
type: integer
format: int32
metadata:
type: object
UpdateRegistrationQuestionRequest:
type: object
required:
- question_id
- sequence
- metadata
properties:
event_id:
nullable: true
type: string
format: uuid
event_type_id:
nullable: true
type: string
format: uuid
question_id:
type: string
format: uuid
sequence:
type: integer
format: int32
metadata:
type: object
PatchRegistrationQuestionRequest:
type: object
properties:
event_id:
nullable: true
type: string
format: uuid
event_type_id:
nullable: true
type: string
format: uuid
question_id:
type: string
format: uuid
sequence:
type: integer
format: int32
metadata:
type: object
RegistrationQuestionList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RegistrationQuestion'
meta:
$ref: '#/components/schemas/PaginationMeta'
Registration:
type: object
required:
- id
- event_id
- name
- email
- state
- active
- barcode
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
event_slot_id:
nullable: true
type: string
format: uuid
event_ticket_id:
nullable: true
type: string
format: uuid
name:
type: string
maxLength: 200
email:
type: string
format: email
maxLength: 254
phone:
nullable: true
type: string
maxLength: 40
company_name:
nullable: true
type: string
maxLength: 200
partner_id:
nullable: true
type: string
format: uuid
state:
type: string
date_closed:
nullable: true
type: string
format: date-time
sale_order_id:
nullable: true
type: string
format: uuid
sale_order_state:
nullable: true
type: string
sale_status:
nullable: true
type: string
active:
type: boolean
barcode:
type: string
maxLength: 32
metadata:
type: object
RegistrationBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Registration'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateRegistrationRequest:
type: object
required:
- event_id
- name
- email
- state
- active
- barcode
- metadata
properties:
event_id:
type: string
format: uuid
event_slot_id:
nullable: true
type: string
format: uuid
event_ticket_id:
nullable: true
type: string
format: uuid
name:
type: string
maxLength: 200
email:
type: string
format: email
maxLength: 254
phone:
nullable: true
type: string
maxLength: 40
company_name:
nullable: true
type: string
maxLength: 200
partner_id:
nullable: true
type: string
format: uuid
state:
type: string
date_closed:
nullable: true
type: string
format: date-time
sale_order_id:
nullable: true
type: string
format: uuid
sale_order_state:
nullable: true
type: string
sale_status:
nullable: true
type: string
active:
type: boolean
barcode:
type: string
maxLength: 32
metadata:
type: object
UpdateRegistrationRequest:
type: object
required:
- event_id
- name
- email
- state
- active
- barcode
- metadata
properties:
event_id:
type: string
format: uuid
event_slot_id:
nullable: true
type: string
format: uuid
event_ticket_id:
nullable: true
type: string
format: uuid
name:
type: string
maxLength: 200
email:
type: string
format: email
maxLength: 254
phone:
nullable: true
type: string
maxLength: 40
company_name:
nullable: true
type: string
maxLength: 200
partner_id:
nullable: true
type: string
format: uuid
state:
type: string
date_closed:
nullable: true
type: string
format: date-time
sale_order_id:
nullable: true
type: string
format: uuid
sale_order_state:
nullable: true
type: string
sale_status:
nullable: true
type: string
active:
type: boolean
barcode:
type: string
maxLength: 32
metadata:
type: object
PatchRegistrationRequest:
type: object
properties:
event_id:
type: string
format: uuid
event_slot_id:
nullable: true
type: string
format: uuid
event_ticket_id:
nullable: true
type: string
format: uuid
name:
type: string
maxLength: 200
email:
type: string
format: email
maxLength: 254
phone:
nullable: true
type: string
maxLength: 40
company_name:
nullable: true
type: string
maxLength: 200
partner_id:
nullable: true
type: string
format: uuid
state:
type: string
date_closed:
nullable: true
type: string
format: date-time
sale_order_id:
nullable: true
type: string
format: uuid
sale_order_state:
nullable: true
type: string
sale_status:
nullable: true
type: string
active:
type: boolean
barcode:
type: string
maxLength: 32
metadata:
type: object
RegistrationList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Registration'
meta:
$ref: '#/components/schemas/PaginationMeta'
RegistrationAnswer:
type: object
required:
- id
- registration_id
- question_id
- metadata
properties:
id:
type: string
format: uuid
registration_id:
type: string
format: uuid
question_id:
type: string
format: uuid
value_text:
nullable: true
type: string
maxLength: 2000
value_answer_id:
nullable: true
type: string
format: uuid
metadata:
type: object
RegistrationAnswerBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RegistrationAnswer'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateRegistrationAnswerRequest:
type: object
required:
- registration_id
- question_id
- metadata
properties:
registration_id:
type: string
format: uuid
question_id:
type: string
format: uuid
value_text:
nullable: true
type: string
maxLength: 2000
value_answer_id:
nullable: true
type: string
format: uuid
metadata:
type: object
UpdateRegistrationAnswerRequest:
type: object
required:
- registration_id
- question_id
- metadata
properties:
registration_id:
type: string
format: uuid
question_id:
type: string
format: uuid
value_text:
nullable: true
type: string
maxLength: 2000
value_answer_id:
nullable: true
type: string
format: uuid
metadata:
type: object
PatchRegistrationAnswerRequest:
type: object
properties:
registration_id:
type: string
format: uuid
question_id:
type: string
format: uuid
value_text:
nullable: true
type: string
maxLength: 2000
value_answer_id:
nullable: true
type: string
format: uuid
metadata:
type: object
RegistrationAnswerList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RegistrationAnswer'
meta:
$ref: '#/components/schemas/PaginationMeta'
Slot:
type: object
required:
- id
- event_id
- name
- date_begin
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
date_begin:
type: string
format: date-time
date_end:
nullable: true
type: string
format: date-time
metadata:
type: object
SlotBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Slot'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateSlotRequest:
type: object
required:
- event_id
- name
- date_begin
- metadata
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
date_begin:
type: string
format: date-time
date_end:
nullable: true
type: string
format: date-time
metadata:
type: object
UpdateSlotRequest:
type: object
required:
- event_id
- name
- date_begin
- metadata
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
date_begin:
type: string
format: date-time
date_end:
nullable: true
type: string
format: date-time
metadata:
type: object
PatchSlotRequest:
type: object
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
date_begin:
type: string
format: date-time
date_end:
nullable: true
type: string
format: date-time
metadata:
type: object
SlotList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Slot'
meta:
$ref: '#/components/schemas/PaginationMeta'
Stage:
type: object
required:
- id
- name
- sequence
- fold
- pipe_end
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
sequence:
type: integer
format: int32
fold:
type: boolean
pipe_end:
type: boolean
metadata:
type: object
StageBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Stage'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateStageRequest:
type: object
required:
- name
- sequence
- fold
- pipe_end
- metadata
properties:
name:
type: string
maxLength: 120
sequence:
type: integer
format: int32
fold:
type: boolean
pipe_end:
type: boolean
metadata:
type: object
UpdateStageRequest:
type: object
required:
- name
- sequence
- fold
- pipe_end
- metadata
properties:
name:
type: string
maxLength: 120
sequence:
type: integer
format: int32
fold:
type: boolean
pipe_end:
type: boolean
metadata:
type: object
PatchStageRequest:
type: object
properties:
name:
type: string
maxLength: 120
sequence:
type: integer
format: int32
fold:
type: boolean
pipe_end:
type: boolean
metadata:
type: object
StageList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Stage'
meta:
$ref: '#/components/schemas/PaginationMeta'
TagCategory:
type: object
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
metadata:
type: object
TagCategoryBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TagCategory'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateTagCategoryRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
metadata:
type: object
UpdateTagCategoryRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
metadata:
type: object
PatchTagCategoryRequest:
type: object
properties:
name:
type: string
maxLength: 120
metadata:
type: object
TagCategoryList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TagCategory'
meta:
$ref: '#/components/schemas/PaginationMeta'
Tag:
type: object
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
name:
type: string
maxLength: 120
category_id:
nullable: true
type: string
format: uuid
color:
nullable: true
type: string
maxLength: 32
metadata:
type: object
TagBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Tag'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateTagRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
category_id:
nullable: true
type: string
format: uuid
color:
nullable: true
type: string
maxLength: 32
metadata:
type: object
UpdateTagRequest:
type: object
required:
- name
- metadata
properties:
name:
type: string
maxLength: 120
category_id:
nullable: true
type: string
format: uuid
color:
nullable: true
type: string
maxLength: 32
metadata:
type: object
PatchTagRequest:
type: object
properties:
name:
type: string
maxLength: 120
category_id:
nullable: true
type: string
format: uuid
color:
nullable: true
type: string
maxLength: 32
metadata:
type: object
TagList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Tag'
meta:
$ref: '#/components/schemas/PaginationMeta'
Ticket:
type: object
required:
- id
- event_id
- name
- seats_max
- seats_max_per_order
- metadata
properties:
id:
type: string
format: uuid
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
seats_max:
type: integer
format: int32
seats_max_per_order:
type: integer
format: int32
start_sale_datetime:
nullable: true
type: string
format: date-time
end_sale_datetime:
nullable: true
type: string
format: date-time
product_id:
nullable: true
type: string
format: uuid
metadata:
type: object
TicketBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Ticket'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateTicketRequest:
type: object
required:
- event_id
- name
- seats_max
- seats_max_per_order
- metadata
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
seats_max:
type: integer
format: int32
seats_max_per_order:
type: integer
format: int32
start_sale_datetime:
nullable: true
type: string
format: date-time
end_sale_datetime:
nullable: true
type: string
format: date-time
product_id:
nullable: true
type: string
format: uuid
metadata:
type: object
UpdateTicketRequest:
type: object
required:
- event_id
- name
- seats_max
- seats_max_per_order
- metadata
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
seats_max:
type: integer
format: int32
seats_max_per_order:
type: integer
format: int32
start_sale_datetime:
nullable: true
type: string
format: date-time
end_sale_datetime:
nullable: true
type: string
format: date-time
product_id:
nullable: true
type: string
format: uuid
metadata:
type: object
PatchTicketRequest:
type: object
properties:
event_id:
type: string
format: uuid
name:
type: string
maxLength: 200
seats_max:
type: integer
format: int32
seats_max_per_order:
type: integer
format: int32
start_sale_datetime:
nullable: true
type: string
format: date-time
end_sale_datetime:
nullable: true
type: string
format: date-time
product_id:
nullable: true
type: string
format: uuid
metadata:
type: object
TicketList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Ticket'
meta:
$ref: '#/components/schemas/PaginationMeta'
TypeMail:
type: object
required:
- id
- event_type_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- metadata
properties:
id:
type: string
format: uuid
event_type_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
metadata:
type: object
TypeMailBulkResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TypeMail'
total: { type: integer }
failed: { type: integer }
errors:
type: array
items: { type: string }
CreateTypeMailRequest:
type: object
required:
- event_type_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- metadata
properties:
event_type_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
metadata:
type: object
UpdateTypeMailRequest:
type: object
required:
- event_type_id
- interval_nbr
- interval_unit
- interval_kind
- notification_channel
- metadata
properties:
event_type_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
metadata:
type: object
PatchTypeMailRequest:
type: object
properties:
event_type_id:
type: string
format: uuid
interval_nbr:
type: integer
format: int32
interval_unit:
type: string
interval_kind:
type: string
notification_channel:
type: string
template_ref:
nullable: true
type: string
format: uuid
template_kind:
nullable: true
type: string
maxLength: 40
metadata:
type: object
TypeMailList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TypeMail'
meta:
$ref: '#/components/schemas/PaginationMeta'
PaginationMeta:
type: object
properties:
total:
type: integer
example: 100
page:
type: integer
example: 1
per_page:
type: integer
example: 20
total_pages:
type: integer
example: 5
Error:
type: object
required:
- code
- message
properties:
code:
type: string
example: VALIDATION_ERROR
message:
type: string
example: Invalid input data
details:
type: object
additionalProperties: true
parameters:
IdParam:
name: id
in: path
required: true
schema:
type: string
format: uuid
PageParam:
name: page
in: query
schema:
type: integer
minimum: 1
default: 1
PerPageParam:
name: per_page
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 20
SortByParam:
name: sort_by
in: query
schema:
type: string
SortOrderParam:
name: sort_order
in: query
schema:
type: string
enum: [asc, desc]
default: asc
responses:
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBodies:
BatchIds:
required: true
content:
application/json:
schema:
type: object
required: [ids]
properties:
ids:
type: array
items: { type: string }
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
security:
- bearerAuth: []