sms-consent

Link Consent

Bind a reviewed consent to a contact slot.

Linking records consent; it does NOT lift a suppression. Surge has no server-side re-subscribe, so a number that said STOP stays blocked until the subscriber texts START — the response's status will say linked while the number remains unsendable, and that is correct.

post/sms-consent/{consent_id}/link

Request

  • Base URL
    https://api.verdun.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.verdun.ai/sms-consent/{consent_id}/link
  • Auth
    HTTP bearer

Path parameters

consent_idstring required

Request body

slot'primary' | 'afterhours' required

Which of the contact's two numbers this consent covers.

site_contact_idstring uuid nullable

Existing contact to bind to. Mutually exclusive with site_id/contact.

site_idstring uuid nullable

Site to create the contact under. Requires contact.

Example request

{
  "slot": "primary",
  "contact": {
    "first_name": "1231231234",
    "last_name": "1231231234",
    "role": "Security Manager",
    "primary_phone_number": "1231231234",
    "afterhours_phone_number": "1231231234",
    "email": "JJ@example.com",
    "availability": [
      {
        "days": [
          0,
          1,
          2,
          3,
          4
        ],
        "end": "17:00",
        "start": "08:00"
      }
    ]
  }
}

Response

Successful Response

idstring uuid required

Unique identifier of the consent record.

phone_numberstring required

Canonical E.164 number the consent covers.

full_namestring nullable

Name given at consent time, if any.

emailstring nullable

Email given at consent time, if any.

organizationstring nullable

Organization given at consent time.

consent_versionstring required

Server-owned key for the exact text agreed to.

consented_atstring date-time nullable

When consent actually occurred. NULL for a Rail A enrollment that is still waiting for its YES reply.

sourcestring required

How the consent was obtained.

statusstring required

pending_confirmation | pending_review | linked | dismissed | revoked | unverifiable. Only linked with a bound contact authorizes a send.

site_contact_idstring uuid nullable

Bound contact, if any.

site_idstring uuid nullable

Bound site, if any.

contact_slotstring nullable

primary | afterhours.

evidence_refstring nullable

What proves it — the inbound YES message id for Rail A.

linked_atstring date-time nullable

When it was bound to a contact.

revoked_atstring date-time nullable

When a STOP superseded it.

dismissed_atstring date-time nullable

When it was dismissed or expired.

confirmation_sent_atstring date-time nullable

When the Rail A confirmation text was sent. One, ever.

confirmation_errorstring nullable

Last confirmation send failure, if any.

created_atstring date-time nullable

Row creation time.

updated_atstring date-time nullable

Row last-update time.

Changes

No recorded changes to this operation across all 2 revisions of this API.