New to Corsair? See API access, authentication, and error handling.
Event Categories
create
eventCategories.create
Create an event category, active or not
Risk: write
await corsair.waiverfile.api.eventCategories.create({ name: 'Open jump', active: true });
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | — |
active | boolean | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
ID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
Status | number | null | No | 0 = active, 1 = disabled, 2 = deleted. |
OrderNum | number | null | No | — |
delete
eventCategories.delete
Delete an event category; the events in it survive and lose their category
Risk: destructive
await corsair.waiverfile.api.eventCategories.delete({ eventCategoryID: '9a3c5e3e-7c4f-4a83-88be-86a3c85fa0e4' });
| Name | Type | Required | Description |
|---|---|---|---|
eventCategoryID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
ID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
Status | number | null | No | 0 = active, 1 = disabled, 2 = deleted. |
OrderNum | number | null | No | — |
list
eventCategories.list
List event categories, optionally including disabled ones
Risk: read
await corsair.waiverfile.api.eventCategories.list({ includeDisabledCategories: true });
| Name | Type | Required | Description |
|---|---|---|---|
includeDisabledCategories | boolean | Yes | Also return categories that are switched off. |
| Name | Type | Required | Description |
|---|---|---|---|
EventCategories | object[] | null | No | — |
EventCategories full type
EventCategories full type
{
ID?: string | null,
SiteID?: string | null,
Name?: string | null,
Status?: number | null,
OrderNum?: number | null
}[] | null
update
eventCategories.update
Rename an event category and set whether it is active
Risk: write
await corsair.waiverfile.api.eventCategories.update({ eventCategoryID: '9a3c5e3e-7c4f-4a83-88be-86a3c85fa0e4', name: 'Open jump (renamed)', active: false });
| Name | Type | Required | Description |
|---|---|---|---|
eventCategoryID | string | Yes | — |
name | string | Yes | — |
active | boolean | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
ID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
Status | number | null | No | 0 = active, 1 = disabled, 2 = deleted. |
OrderNum | number | null | No | — |
Events
byCategory
events.byCategory
List events in one category within a date range
Risk: read
await corsair.waiverfile.api.events.byCategory({ eventCategoryID: '9a3c5e3e-7c4f-4a83-88be-86a3c85fa0e4', startDateUTC: '2024-06-01T00:00:00Z', endDateUTC: '2024-06-30T23:59:59Z' });
| Name | Type | Required | Description |
|---|---|---|---|
eventCategoryID | string | Yes | — |
startDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Events | object[] | null | No | — |
Events full type
Events full type
{
WaiverEventID?: string | null,
SiteID?: string | null,
Name?: string | null,
DateStart?: string | null,
DateEnd?: string | null,
IsAllDay?: boolean | null,
IsDeleted?: boolean | null,
CategoryID?: string | null,
TimeLabel?: string | null,
NumWaiverForms?: number | null,
NumSignedWaivers?: number | null,
SpotsRemaining?: number | null,
MaxParts?: number | null,
Headcount?: number | null,
ManagerEmailList?: string | null,
ManagerIDs?: string[] | null,
Created?: string | null,
LastModified?: string | null,
WaiverEventFormIDs?: (string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null,
WaiverForms?: Record<string, any>[] | null,
Waivers?: Record<string, any>[] | null,
Category?: Record<string, any> | null,
Settings?: {
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
}[] | null
byDateRange
events.byDateRange
List events in any category that fall within a date range
Risk: read
await corsair.waiverfile.api.events.byDateRange({ startDateUTC: '2024-06-01T00:00:00Z', endDateUTC: '2024-06-30T23:59:59Z' });
| Name | Type | Required | Description |
|---|---|---|---|
startDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Events | object[] | null | No | — |
Events full type
Events full type
{
WaiverEventID?: string | null,
SiteID?: string | null,
Name?: string | null,
DateStart?: string | null,
DateEnd?: string | null,
IsAllDay?: boolean | null,
IsDeleted?: boolean | null,
CategoryID?: string | null,
TimeLabel?: string | null,
NumWaiverForms?: number | null,
NumSignedWaivers?: number | null,
SpotsRemaining?: number | null,
MaxParts?: number | null,
Headcount?: number | null,
ManagerEmailList?: string | null,
ManagerIDs?: string[] | null,
Created?: string | null,
LastModified?: string | null,
WaiverEventFormIDs?: (string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null,
WaiverForms?: Record<string, any>[] | null,
Waivers?: Record<string, any>[] | null,
Category?: Record<string, any> | null,
Settings?: {
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
}[] | null
create
events.create
Create an event with its dates, category, attached forms and manager invitations; the credentials go in the body on this route
Risk: write
await corsair.waiverfile.api.events.create({ eventName: 'Saturday open jump', dateStart: '2024-06-02T09:00:00Z', dateEnd: '2024-06-02T17:00:00Z', isAllDay: false, eventCategoryID: '9a3c5e3e-7c4f-4a83-88be-86a3c85fa0e4' });
| Name | Type | Required | Description |
|---|---|---|---|
eventName | string | Yes | — |
dateStart | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
dateEnd | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
isAllDay | boolean | Yes | — |
eventCategoryID | string | No | A category from eventCategories.list. |
managerEmailList | string | No | Addresses separated by commas, spaces or line breaks. |
managerEmailMessage | string | No | — |
waiverFormIDList | string | No | Comma-separated form IDs. Omit to attach every active form. |
eventLocation | string | No | — |
signingCutoff | string | No | After this time waivers can no longer be signed. |
maxParticipants | number | No | — |
workflowIDList | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverEventID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
DateStart | string | null | No | — |
DateEnd | string | null | No | — |
IsAllDay | boolean | null | No | — |
IsDeleted | boolean | null | No | — |
CategoryID | string | null | No | — |
TimeLabel | string | null | No | — |
NumWaiverForms | number | null | No | — |
NumSignedWaivers | number | null | No | — |
SpotsRemaining | number | null | No | — |
MaxParts | number | null | No | — |
Headcount | number | null | No | — |
ManagerEmailList | string | null | No | — |
ManagerIDs | string[] | null | No | — |
Created | string | null | No | — |
LastModified | string | null | No | — |
WaiverEventFormIDs | object[] | null | No | The forms attached to the event. |
WaiverForms | Record<string, any>[] | null | No | — |
Waivers | Record<string, any>[] | null | No | — |
Category | Record<string, any> | null | No | — |
Settings | object | null | No | — |
WaiverEventFormIDs full type
WaiverEventFormIDs full type
(string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null
Settings full type
Settings full type
{
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
delete
events.delete
Delete an event (marked deleted; signed waivers stay); the call is a GET, so it is not replayed on a failure
Risk: destructive
await corsair.waiverfile.api.events.delete({ eventID: 'c0a1b2c3-1111-2222-3333-444455556666' });
| Name | Type | Required | Description |
|---|---|---|---|
eventID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverEventID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
DateStart | string | null | No | — |
DateEnd | string | null | No | — |
IsAllDay | boolean | null | No | — |
IsDeleted | boolean | null | No | — |
CategoryID | string | null | No | — |
TimeLabel | string | null | No | — |
NumWaiverForms | number | null | No | — |
NumSignedWaivers | number | null | No | — |
SpotsRemaining | number | null | No | — |
MaxParts | number | null | No | — |
Headcount | number | null | No | — |
ManagerEmailList | string | null | No | — |
ManagerIDs | string[] | null | No | — |
Created | string | null | No | — |
LastModified | string | null | No | — |
WaiverEventFormIDs | object[] | null | No | The forms attached to the event. |
WaiverForms | Record<string, any>[] | null | No | — |
Waivers | Record<string, any>[] | null | No | — |
Category | Record<string, any> | null | No | — |
Settings | object | null | No | — |
WaiverEventFormIDs full type
WaiverEventFormIDs full type
(string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null
Settings full type
Settings full type
{
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
inviteManagers
events.inviteManagers
Invite people to manage an event, optionally skipping those who already have an account
Risk: write
await corsair.waiverfile.api.events.inviteManagers({ eventID: 'c0a1b2c3-1111-2222-3333-444455556666', emailAddresses: 'manager@example.com' });
| Name | Type | Required | Description |
|---|---|---|---|
eventID | string | Yes | — |
emailAddresses | string | Yes | Addresses separated by commas, spaces or line breaks. |
managerEmailMessage | string | No | Text added to the invitation. Invite only. |
skipSendingEmailIfAccountExists | boolean | No | Invite only: skip the email for people who already have an account. Defaults to false, so everyone listed is emailed. |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverEventID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
DateStart | string | null | No | — |
DateEnd | string | null | No | — |
IsAllDay | boolean | null | No | — |
IsDeleted | boolean | null | No | — |
CategoryID | string | null | No | — |
TimeLabel | string | null | No | — |
NumWaiverForms | number | null | No | — |
NumSignedWaivers | number | null | No | — |
SpotsRemaining | number | null | No | — |
MaxParts | number | null | No | — |
Headcount | number | null | No | — |
ManagerEmailList | string | null | No | — |
ManagerIDs | string[] | null | No | — |
Created | string | null | No | — |
LastModified | string | null | No | — |
WaiverEventFormIDs | object[] | null | No | The forms attached to the event. |
WaiverForms | Record<string, any>[] | null | No | — |
Waivers | Record<string, any>[] | null | No | — |
Category | Record<string, any> | null | No | — |
Settings | object | null | No | — |
WaiverEventFormIDs full type
WaiverEventFormIDs full type
(string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null
Settings full type
Settings full type
{
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
removeManagers
events.removeManagers
Remove event manager access for the given addresses
Risk: write
await corsair.waiverfile.api.events.removeManagers({ eventID: 'c0a1b2c3-1111-2222-3333-444455556666', emailAddresses: 'manager@example.com' });
| Name | Type | Required | Description |
|---|---|---|---|
eventID | string | Yes | — |
emailAddresses | string | Yes | Addresses separated by commas, spaces or line breaks. |
managerEmailMessage | string | No | Text added to the invitation. Invite only. |
skipSendingEmailIfAccountExists | boolean | No | Invite only: skip the email for people who already have an account. Defaults to false, so everyone listed is emailed. |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverEventID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
DateStart | string | null | No | — |
DateEnd | string | null | No | — |
IsAllDay | boolean | null | No | — |
IsDeleted | boolean | null | No | — |
CategoryID | string | null | No | — |
TimeLabel | string | null | No | — |
NumWaiverForms | number | null | No | — |
NumSignedWaivers | number | null | No | — |
SpotsRemaining | number | null | No | — |
MaxParts | number | null | No | — |
Headcount | number | null | No | — |
ManagerEmailList | string | null | No | — |
ManagerIDs | string[] | null | No | — |
Created | string | null | No | — |
LastModified | string | null | No | — |
WaiverEventFormIDs | object[] | null | No | The forms attached to the event. |
WaiverForms | Record<string, any>[] | null | No | — |
Waivers | Record<string, any>[] | null | No | — |
Category | Record<string, any> | null | No | — |
Settings | object | null | No | — |
WaiverEventFormIDs full type
WaiverEventFormIDs full type
(string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null
Settings full type
Settings full type
{
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
upcoming
events.upcoming
List events within a date range, capped at 3,000 by the API
Risk: read
await corsair.waiverfile.api.events.upcoming({ startDateUTC: '2024-06-01T00:00:00Z', endDateUTC: '2024-06-30T23:59:59Z' });
| Name | Type | Required | Description |
|---|---|---|---|
startDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Events | object[] | null | No | — |
Events full type
Events full type
{
WaiverEventID?: string | null,
SiteID?: string | null,
Name?: string | null,
DateStart?: string | null,
DateEnd?: string | null,
IsAllDay?: boolean | null,
IsDeleted?: boolean | null,
CategoryID?: string | null,
TimeLabel?: string | null,
NumWaiverForms?: number | null,
NumSignedWaivers?: number | null,
SpotsRemaining?: number | null,
MaxParts?: number | null,
Headcount?: number | null,
ManagerEmailList?: string | null,
ManagerIDs?: string[] | null,
Created?: string | null,
LastModified?: string | null,
WaiverEventFormIDs?: (string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null,
WaiverForms?: Record<string, any>[] | null,
Waivers?: Record<string, any>[] | null,
Category?: Record<string, any> | null,
Settings?: {
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
}[] | null
update
events.update
Change an event name, dates, category and attached forms; omitting the form list attaches every active form
Risk: write
await corsair.waiverfile.api.events.update({ eventID: 'c0a1b2c3-1111-2222-3333-444455556666', eventName: 'Saturday open jump', dateStart: '2024-06-02T09:00:00Z', dateEnd: '2024-06-02T17:00:00Z', isAllDay: false, eventCategoryID: '9a3c5e3e-7c4f-4a83-88be-86a3c85fa0e4', waiverFormIDs: ['152a63cc-0a49-475a-a8e4-5f89bee94fe6'] });
| Name | Type | Required | Description |
|---|---|---|---|
eventID | string | Yes | — |
eventName | string | Yes | — |
dateStart | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
dateEnd | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
isAllDay | boolean | Yes | — |
eventCategoryID | string | Yes | To set no category, send the empty GUID 00000000-0000-0000-0000-000000000000. |
waiverFormIDs | string[] | No | Replaces the attached forms. Omitted or empty attaches every active form: WaiverFile cannot leave them unchanged, so pass the current IDs to keep them. |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverEventID | string | null | No | — |
SiteID | string | null | No | — |
Name | string | null | No | — |
DateStart | string | null | No | — |
DateEnd | string | null | No | — |
IsAllDay | boolean | null | No | — |
IsDeleted | boolean | null | No | — |
CategoryID | string | null | No | — |
TimeLabel | string | null | No | — |
NumWaiverForms | number | null | No | — |
NumSignedWaivers | number | null | No | — |
SpotsRemaining | number | null | No | — |
MaxParts | number | null | No | — |
Headcount | number | null | No | — |
ManagerEmailList | string | null | No | — |
ManagerIDs | string[] | null | No | — |
Created | string | null | No | — |
LastModified | string | null | No | — |
WaiverEventFormIDs | object[] | null | No | The forms attached to the event. |
WaiverForms | Record<string, any>[] | null | No | — |
Waivers | Record<string, any>[] | null | No | — |
Category | Record<string, any> | null | No | — |
Settings | object | null | No | — |
WaiverEventFormIDs full type
WaiverEventFormIDs full type
(string | {
WaiverEventID?: string | null,
WaiverFormID?: string | null
})[] | null
Settings full type
Settings full type
{
MaxParticipants?: number | null,
Location?: string | null,
SigningCutoff?: string | null,
Description?: string | null
} | null
waivers
events.waivers
List the waivers signed for one event
Risk: read
await corsair.waiverfile.api.events.waivers({ waiverEventID: 'c0a1b2c3-1111-2222-3333-444455556666' });
| Name | Type | Required | Description |
|---|---|---|---|
waiverEventID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
Waivers | object[] | null | No | — |
Waivers full type
Waivers full type
{
WaiverID?: string | null,
SiteID?: string | null,
WaiverEventID?: string | null,
WaiverFormID?: string | null,
DateSigned?: string | null,
SignedName?: string | null,
SignedNameFirst?: string | null,
Email?: string | null,
Phone?: string | null,
DOB?: string | null,
Age?: number | null,
HasSignature?: boolean | null,
OptIn?: boolean | null,
WaiverIsDeleted?: boolean | null,
ReferenceID1?: string | null,
ReferenceID2?: string | null,
ReferenceID3?: string | null,
Participants?: {
WaiverParticipantID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
IsCheckedIn?: boolean | null,
IsSignee?: boolean | null
}[] | null
}[] | null
Forms
active
forms.active
List the waiver forms currently active on the site
Risk: read
await corsair.waiverfile.api.forms.active({});
| Name | Type | Required | Description |
|---|---|---|---|
WaiverForms | object[] | null | No | — |
WaiverForms full type
WaiverForms full type
{
ID?: string | null,
SiteID?: string | null,
Name?: string | null,
Questions?: string | null,
NumParticipantsPerForm?: number | null,
MinAge?: number | null,
MaxAgeParticipant?: number | null,
AgreementLabelText?: string | null,
FieldInclude_Email?: boolean | null,
FieldRequire_Email?: boolean | null,
FieldInclude_Phone?: boolean | null,
FieldRequire_Phone?: boolean | null,
FieldInclude_DOB?: boolean | null,
FieldRequire_DOB?: boolean | null,
FieldInclude_Address?: boolean | null,
FieldRequire_Address?: boolean | null,
IncludeSignature?: boolean | null,
AllowSigningForSomeoneElse?: boolean | null,
Status?: number | null,
Language?: string | null,
Created?: string | null,
LastModified?: string | null
}[] | null
all
forms.all
List every waiver form, including disabled and deleted ones, to resolve an older waiver
Risk: read
await corsair.waiverfile.api.forms.all({});
| Name | Type | Required | Description |
|---|---|---|---|
WaiverForms | object[] | null | No | — |
WaiverForms full type
WaiverForms full type
{
ID?: string | null,
SiteID?: string | null,
Name?: string | null,
Questions?: string | null,
NumParticipantsPerForm?: number | null,
MinAge?: number | null,
MaxAgeParticipant?: number | null,
AgreementLabelText?: string | null,
FieldInclude_Email?: boolean | null,
FieldRequire_Email?: boolean | null,
FieldInclude_Phone?: boolean | null,
FieldRequire_Phone?: boolean | null,
FieldInclude_DOB?: boolean | null,
FieldRequire_DOB?: boolean | null,
FieldInclude_Address?: boolean | null,
FieldRequire_Address?: boolean | null,
IncludeSignature?: boolean | null,
AllowSigningForSomeoneElse?: boolean | null,
Status?: number | null,
Language?: string | null,
Created?: string | null,
LastModified?: string | null
}[] | null
Ping
check
ping.check
Check that the service is up and that the API key and site ID are valid; the cheapest way to verify credentials
Risk: read
await corsair.waiverfile.api.ping.check({});
| Name | Type | Required | Description |
|---|---|---|---|
Message | string | null | No | — |
Site
get
site.get
Read the site behind the credentials: its name, timezone and contact details
Risk: read
await corsair.waiverfile.api.site.get({});
| Name | Type | Required | Description |
|---|---|---|---|
ID | string | null | No | — |
Name | string | null | No | — |
Url | string | null | No | The site path on app.waiverfile.com. |
DefaultTimezone | string | null | No | — |
Status | number | null | No | — |
DateAdded | string | null | No | — |
ReplyToEmail | string | null | No | — |
Subscribers
list
subscribers.list
List SMS subscribers added within a date range
Risk: read
await corsair.waiverfile.api.subscribers.list({ startDateUTC: '2024-06-01T00:00:00Z', endDateUTC: '2024-06-30T23:59:59Z' });
| Name | Type | Required | Description |
|---|---|---|---|
startDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Subscribers | object[] | null | No | — |
Subscribers full type
Subscribers full type
{
WPSMSMobileNumID?: string | null,
Phone?: string | null,
MobileNum?: string | null,
Added?: string | null,
OptOutDate?: string | null
}[] | null
optedOut
subscribers.optedOut
List subscribers who opted out within a date range, which is what a suppression list needs
Risk: read
await corsair.waiverfile.api.subscribers.optedOut({ startDateUTC: '2024-06-01T00:00:00Z', endDateUTC: '2024-06-30T23:59:59Z' });
| Name | Type | Required | Description |
|---|---|---|---|
startDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDateUTC | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Subscribers | object[] | null | No | — |
Subscribers full type
Subscribers full type
{
WPSMSMobileNumID?: string | null,
Phone?: string | null,
MobileNum?: string | null,
Added?: string | null,
OptOutDate?: string | null
}[] | null
Waivers
byReference
waivers.byReference
Find waivers by your own reference IDs, exactly matching any of the three fields
Risk: read
await corsair.waiverfile.api.waivers.byReference({ refID1: 'ORDER-42' });
| Name | Type | Required | Description |
|---|---|---|---|
refID1 | string | No | Exact match on Reference ID 1. |
refID2 | string | No | — |
refID3 | string | No | — |
refIDAny | string | No | Exact match on any of the three reference fields. |
| Name | Type | Required | Description |
|---|---|---|---|
Waivers | object[] | null | No | — |
Waivers full type
Waivers full type
{
WaiverID?: string | null,
SiteID?: string | null,
WaiverEventID?: string | null,
WaiverFormID?: string | null,
WaiverFormInstanceID?: string | null,
DateSigned?: string | null,
DateAttending?: string | null,
SignedName?: string | null,
SignedNameFirst?: string | null,
Email?: string | null,
Phone?: string | null,
DOB?: string | null,
Age?: string | null,
Address?: string | null,
Address2?: string | null,
City?: string | null,
State?: string | null,
Zip?: string | null,
OptIn?: string | null,
HasSignature?: string | null,
Expired?: string | null,
WaiverIsDeleted?: string | null,
ClientIP?: string | null,
ClientType?: string | null,
ReferenceID1?: string | null,
ReferenceID2?: string | null,
ReferenceID3?: string | null,
FieldsXml?: string | null,
ValuesXml?: any,
Particpants?: {
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null,
WaiverEvent?: Record<string, any> | null,
WaiverForm?: Record<string, any> | null,
WaiverText?: Record<string, any> | null,
CustomFields?: Record<string, any> | null
}[] | null
data
waivers.data
Read report-style rows, one per participant, optionally with custom form columns; pageIndex starts at 1
Risk: read
await corsair.waiverfile.api.waivers.data({ startDate: '2024-06-01', endDate: '2024-06-30', includeCustomColumns: true, consolidateParticipants: false, pageIndex: 1, pageSize: 100 });
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
includeCustomColumns | boolean | Yes | Include custom form fields from every waiver form. |
consolidateParticipants | boolean | Yes | Reserved: the API currently ignores it and still returns one row per participant. |
pageIndex | number | Yes | The page to return, starting at 1 — unlike the waiver lists. |
pageSize | number | Yes | Rows per page, 10 to 1000. |
| Name | Type | Required | Description |
|---|---|---|---|
Table | Record<string, any>[] | Yes | — |
dataCount
waivers.dataCount
Count the report rows a date range would return
Risk: read
await corsair.waiverfile.api.waivers.dataCount({ startDate: '2024-06-01', endDate: '2024-06-30' });
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Count | number | null | No | — |
get
waivers.get
Read a signed waiver in full: the agreement accepted, every participant, the signatures and the form answers
Risk: read
await corsair.waiverfile.api.waivers.get({ waiverID: '4e5c5176-1238-45a3-8a87-35435baecaa2' });
| Name | Type | Required | Description |
|---|---|---|---|
waiverID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverID | string | null | No | — |
SiteID | string | null | No | — |
WaiverEventID | string | null | No | — |
WaiverFormID | string | null | No | — |
WaiverFormInstanceID | string | null | No | — |
DateSigned | string | null | No | UTC, without an offset. |
DateAttending | string | null | No | — |
SignedName | string | null | No | The signer’s last name. |
SignedNameFirst | string | null | No | — |
Email | string | null | No | — |
Phone | string | null | No | — |
DOB | string | null | No | — |
Age | string | null | No | — |
Address | string | null | No | — |
Address2 | string | null | No | — |
City | string | null | No | — |
State | string | null | No | — |
Zip | string | null | No | — |
OptIn | string | null | No | ”true” or “false”. |
HasSignature | string | null | No | ”true” or “false”. |
Expired | string | null | No | — |
WaiverIsDeleted | string | null | No | — |
ClientIP | string | null | No | — |
ClientType | string | null | No | — |
ReferenceID1 | string | null | No | — |
ReferenceID2 | string | null | No | — |
ReferenceID3 | string | null | No | — |
FieldsXml | string | null | No | — |
ValuesXml | any | No | — |
Particpants | object[] | null | No | WaiverFile’s own spelling, with the missing i. |
WaiverEvent | Record<string, any> | null | No | — |
WaiverForm | Record<string, any> | null | No | — |
WaiverText | Record<string, any> | null | No | — |
CustomFields | Record<string, any> | null | No | GetWaiver only: each custom form field label mapped to its value. |
Particpants full type
Particpants full type
{
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null
getLite
waivers.getLite
Read a signed waiver without the agreement text, event detail or signatures
Risk: read
await corsair.waiverfile.api.waivers.getLite({ waiverID: '4e5c5176-1238-45a3-8a87-35435baecaa2' });
| Name | Type | Required | Description |
|---|---|---|---|
waiverID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
WaiverID | string | null | No | — |
SiteID | string | null | No | — |
WaiverEventID | string | null | No | — |
WaiverFormID | string | null | No | — |
WaiverFormInstanceID | string | null | No | — |
DateSigned | string | null | No | UTC, without an offset. |
DateAttending | string | null | No | — |
SignedName | string | null | No | The signer’s last name. |
SignedNameFirst | string | null | No | — |
Email | string | null | No | — |
Phone | string | null | No | — |
DOB | string | null | No | — |
Age | string | null | No | — |
Address | string | null | No | — |
Address2 | string | null | No | — |
City | string | null | No | — |
State | string | null | No | — |
Zip | string | null | No | — |
OptIn | string | null | No | ”true” or “false”. |
HasSignature | string | null | No | ”true” or “false”. |
Expired | string | null | No | — |
WaiverIsDeleted | string | null | No | — |
ClientIP | string | null | No | — |
ClientType | string | null | No | — |
ReferenceID1 | string | null | No | — |
ReferenceID2 | string | null | No | — |
ReferenceID3 | string | null | No | — |
FieldsXml | string | null | No | — |
ValuesXml | any | No | — |
Particpants | object[] | null | No | WaiverFile’s own spelling, with the missing i. |
WaiverEvent | Record<string, any> | null | No | — |
WaiverForm | Record<string, any> | null | No | — |
WaiverText | Record<string, any> | null | No | — |
CustomFields | Record<string, any> | null | No | GetWaiver only: each custom form field label mapped to its value. |
Particpants full type
Particpants full type
{
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null
list
waivers.list
Page through full waivers signed in a date range; pageIndex starts at 0
Risk: read
await corsair.waiverfile.api.waivers.list({ startDate: '2024-06-01', endDate: '2024-06-30', pageIndex: 0, pageSize: 50 });
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
pageIndex | number | Yes | Zero-based for waiver lists and one-based for GetWaiverData — WaiverFile differs between the two. |
pageSize | number | Yes | Waivers per page, 10 to 500. |
| Name | Type | Required | Description |
|---|---|---|---|
Waivers | object[] | null | No | — |
Waivers full type
Waivers full type
{
WaiverID?: string | null,
SiteID?: string | null,
WaiverEventID?: string | null,
WaiverFormID?: string | null,
WaiverFormInstanceID?: string | null,
DateSigned?: string | null,
DateAttending?: string | null,
SignedName?: string | null,
SignedNameFirst?: string | null,
Email?: string | null,
Phone?: string | null,
DOB?: string | null,
Age?: string | null,
Address?: string | null,
Address2?: string | null,
City?: string | null,
State?: string | null,
Zip?: string | null,
OptIn?: string | null,
HasSignature?: string | null,
Expired?: string | null,
WaiverIsDeleted?: string | null,
ClientIP?: string | null,
ClientType?: string | null,
ReferenceID1?: string | null,
ReferenceID2?: string | null,
ReferenceID3?: string | null,
FieldsXml?: string | null,
ValuesXml?: any,
Particpants?: {
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null,
WaiverEvent?: Record<string, any> | null,
WaiverForm?: Record<string, any> | null,
WaiverText?: Record<string, any> | null,
CustomFields?: Record<string, any> | null
}[] | null
listLite
waivers.listLite
Page through waivers signed in a date range, with the collected data only
Risk: read
await corsair.waiverfile.api.waivers.listLite({ startDate: '2024-06-01', endDate: '2024-06-30', pageIndex: 0, pageSize: 50 });
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
pageIndex | number | Yes | Zero-based for waiver lists and one-based for GetWaiverData — WaiverFile differs between the two. |
pageSize | number | Yes | Waivers per page, 10 to 500. |
| Name | Type | Required | Description |
|---|---|---|---|
Waivers | object[] | null | No | — |
Waivers full type
Waivers full type
{
WaiverID?: string | null,
SiteID?: string | null,
WaiverEventID?: string | null,
WaiverFormID?: string | null,
WaiverFormInstanceID?: string | null,
DateSigned?: string | null,
DateAttending?: string | null,
SignedName?: string | null,
SignedNameFirst?: string | null,
Email?: string | null,
Phone?: string | null,
DOB?: string | null,
Age?: string | null,
Address?: string | null,
Address2?: string | null,
City?: string | null,
State?: string | null,
Zip?: string | null,
OptIn?: string | null,
HasSignature?: string | null,
Expired?: string | null,
WaiverIsDeleted?: string | null,
ClientIP?: string | null,
ClientType?: string | null,
ReferenceID1?: string | null,
ReferenceID2?: string | null,
ReferenceID3?: string | null,
FieldsXml?: string | null,
ValuesXml?: any,
Particpants?: {
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null,
WaiverEvent?: Record<string, any> | null,
WaiverForm?: Record<string, any> | null,
WaiverText?: Record<string, any> | null,
CustomFields?: Record<string, any> | null
}[] | null
pageCount
waivers.pageCount
Count the waivers in a date range, to plan the paging
Risk: read
await corsair.waiverfile.api.waivers.pageCount({ startDate: '2024-06-01', endDate: '2024-06-30' });
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
endDate | string | Yes | A date or date-time, as yyyy-MM-dd or ISO 8601. |
| Name | Type | Required | Description |
|---|---|---|---|
Count | number | null | No | — |
waivers.pdf
Download a signed waiver as a PDF, returned base64-encoded in content with its byte length
Risk: read
await corsair.waiverfile.api.waivers.pdf({ waiverID: '4e5c5176-1238-45a3-8a87-35435baecaa2' });
| Name | Type | Required | Description |
|---|---|---|---|
waiverID | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
waiverID | string | Yes | — |
contentType | string | Yes | — |
bytes | number | Yes | — |
content | string | Yes | Base64. Decode it to get the PDF bytes. |
search
waivers.search
Search waivers by name, or by whatever the site configures as quick-search fields
Risk: read
await corsair.waiverfile.api.waivers.search({ terms: 'Jordan Ruiz' });
| Name | Type | Required | Description |
|---|---|---|---|
terms | string | Yes | A name, or whatever the site configures as its quick-search fields. |
| Name | Type | Required | Description |
|---|---|---|---|
Waivers | object[] | null | No | — |
Waivers full type
Waivers full type
{
WaiverID?: string | null,
SiteID?: string | null,
WaiverEventID?: string | null,
WaiverFormID?: string | null,
WaiverFormInstanceID?: string | null,
DateSigned?: string | null,
DateAttending?: string | null,
SignedName?: string | null,
SignedNameFirst?: string | null,
Email?: string | null,
Phone?: string | null,
DOB?: string | null,
Age?: string | null,
Address?: string | null,
Address2?: string | null,
City?: string | null,
State?: string | null,
Zip?: string | null,
OptIn?: string | null,
HasSignature?: string | null,
Expired?: string | null,
WaiverIsDeleted?: string | null,
ClientIP?: string | null,
ClientType?: string | null,
ReferenceID1?: string | null,
ReferenceID2?: string | null,
ReferenceID3?: string | null,
FieldsXml?: string | null,
ValuesXml?: any,
Particpants?: {
WaiverParticipantID?: string | null,
WaiverID?: string | null,
ParticipantName?: string | null,
ParticipantNameFirst?: string | null,
DOB?: string | null,
Age?: string | null,
IsCheckedIn?: string | null,
IsSignee?: string | null,
ValuesXml?: any,
CustomFields?: Record<string, any> | null
}[] | null,
WaiverEvent?: Record<string, any> | null,
WaiverForm?: Record<string, any> | null,
WaiverText?: Record<string, any> | null,
CustomFields?: Record<string, any> | null
}[] | null
Webhooks
subscribe
webhooks.subscribe
Subscribe a URL to one WaiverFile trigger, such as newwaiver or newevent, so it is posted to on each occurrence
Risk: write
await corsair.waiverfile.api.webhooks.subscribe({ trigger: 'newwaiver', targetUrl: 'https://acme.example/hooks/waiverfile' });
| Name | Type | Required | Description |
|---|---|---|---|
trigger | newwaiver | newevent | newcheckin | newqrscan | newbookingcheckin | bookingcheckinundone | bookingcheckedin | newmembercheckin | membercheckinundone | editwaiver | editevent | editcheckin | Yes | The trigger whose events will be posted to targetUrl. |
targetUrl | string | Yes | The URL WaiverFile will POST to. |
| Name | Type | Required | Description |
|---|---|---|---|
Success | boolean | Yes | — |
Message | string | null | No | — |
unsubscribe
webhooks.unsubscribe
Unsubscribe a URL from one trigger, which stops its deliveries without touching any other URL
Risk: write
await corsair.waiverfile.api.webhooks.unsubscribe({ trigger: 'newwaiver', targetUrl: 'https://acme.example/hooks/waiverfile' });
| Name | Type | Required | Description |
|---|---|---|---|
trigger | newwaiver | newevent | newcheckin | newqrscan | newbookingcheckin | bookingcheckinundone | bookingcheckedin | newmembercheckin | membercheckinundone | editwaiver | editevent | editcheckin | Yes | The trigger whose events will be posted to targetUrl. |
targetUrl | string | Yes | The URL WaiverFile will POST to. |
| Name | Type | Required | Description |
|---|---|---|---|
Success | boolean | Yes | — |
Message | string | null | No | — |