Skip to content
Linq

Update an invitation template

PUT/v1/invitation_templates/{invt}

Replaces a template: a full replacement, never a patch, under the If-Match contract: missing → 428, stale → 412 naming the current version. The logo is three-valued: an absent logo part KEEPS the stored logo, a present one replaces it, and remove_logo=true clears it. A change that flips the template between with-logo and without is re-checked against your brand’s approval and refused 403 invitation_card_not_granted at the edit rather than discovered at the next send. Size refusals match the create: 422 logo_too_large for the logo, 413 too_large past the whole-body ceiling.

Path ParametersExpand Collapse
invt: string
Header ParametersExpand Collapse
"If-Match": string
Body ParametersForm DataExpand Collapse
name: string

REQUIRED. The brand name printed on the card; on-card copy, not an internal label. Empty is 422 name_required; over 200 bytes is 422 too_long.

ReturnsExpand Collapse
id: string

The template id (invt_…); what a send’s template_id references.

created_at: string
formatdate-time
name: string

The brand name printed on the invitation card.

updated_at: string
formatdate-time
version: number

Edit counter that only ever counts up, also returned as this resource’s strong ETag. Echo it in If-Match on the next PUT; a stale one is refused 412 rather than overwriting someone else’s edit.

formatint64

Update an invitation template

curl https://messages.api.linqapp.com/v1/invitation_templates/$INVT \
    -X PUT \
    -H 'Content-Type: multipart/form-data' \
    -H "Authorization: Bearer $LINQ_AMB_API_KEY" \
    -F name=name
{
  "id": "invt_a4f2c718d0",
  "name": "Acme Rides Support",
  "has_logo": true,
  "version": 4,
  "created_at": "2026-08-10T09:00:00Z",
  "updated_at": "2026-08-12T16:00:00Z"
}
Returns Examples
{
  "id": "invt_a4f2c718d0",
  "name": "Acme Rides Support",
  "has_logo": true,
  "version": 4,
  "created_at": "2026-08-10T09:00:00Z",
  "updated_at": "2026-08-12T16:00:00Z"
}