Skip to main content
POST
Create Verification Rule

Authorizations

Authorization
string
header
required

Conduit API token. Use Authorization: Bearer <token>. Read/write endpoints require a token with write access.

Path Parameters

workspace_id
string
required

Workspace identifier

Minimum string length: 1

Body

application/json
name
string
required

Operator-facing rule name

Minimum string length: 1
step_type
enum<string>
required
Available options:
id_check,
agreement,
damage_waiver,
security_deposit,
mandatory_fee,
guest_details,
additional_questions,
other_guests,
guest_registration,
custom_field_gate
config
object
required

Shape depends on step_type. id_check: {title, instructions, acceptedDocuments?, provider?: "conduit" | "didit" | "autohost", requireContactPhoto?, requireLiveDocumentPhoto?, requireDocumentBack?, autoApprove?}. acceptedDocuments is the ID types shown to the guest. requireContactPhoto, requireLiveDocumentPhoto and requireDocumentBack apply to the conduit provider; autohost needs a connected Autohost account. agreement: {title, body} or {title, pdf}. damage_waiver: {title, body, pricing?, optional?} or {title, pdf, pricing?, optional?}. security_deposit: {title, instructions, amountInCents, currency, releaseDelayDays?, holdDaysBeforeArrival?: 1 | 2 | 3, optional?}. optional: true lets the guest decline that step. A damage waiver and a security deposit on the same stay are offered as a choice of one. mandatory_fee: {title, instructions, amountInCents, currency}. guest_details: {title, description?, collectEmail, collectPhone, collectEta, collectEtd, requiredFields, fields?, saveContactDetails?, saveEmailToContact?, savePhoneToContact?}. saveEmailToContact and savePhoneToContact save the email or phone the guest enters to their contact; saveContactDetails is the older flag for both and applies when the specific flag is unset. additional_questions: {title, description?, questions}. other_guests: {title, description?, minGuests?, maxGuests?, fields?}. guest_registration: {title, instructions, registrationProvider: "chekin", allowDocumentScan?}. custom_field_gate: {title, instructions, conditions: {combinator: "all" | "any", conditions: [{source: "reservation_custom_field", field, operator, value?} | {source: "contact_attribute", attributeId, operator, value?} | {source: "payment_status", status: "Paid"}]}}. pdf: {uploadId, placements} uses a PDF up to 10 MB with no rotated pages, uploaded with prepare_file_upload (content_type "application/pdf"). Each upload works once. Placements position fields as fractions of the page measured from its top-left corner: {id, type: "field", fieldKind, label, required, pageIndex, x, y, width, height, options?, radio?} or {id, type: "merge", mergeKey, pageIndex, x, y, width, height}. Include at least one signature field, and keep every signature field required. On patch, omit uploadId to keep the rule's current file, and omit placements to keep its current fields.

targeting
object

Which stays this rule applies to. Omit to target every stay.

exclude_returning_guests
boolean
enabled
boolean

Defaults to true. Disabled rules never apply.

Response

Create Verification Rule

data
object
required