Skip to content

Documentation

Save a Library item

POST/v1/presetsLibrary

Five saved items on Free, 100 on Pro. All reuse is free. Custom account limits apply. Concurrent creates cannot exceed the allowance.

Request body

JSON, sent with Content-Type: application/json.

FieldTypeRequiredDescription
kindrules | qr | campaign | preview | templateoptional
namestringrequired
descriptionstringoptional
configobjectoptionalrules: {routes}; qr: {qr_style}; campaign: {utm}; preview: {preview}; template: any of these plus domain, redirect, expires_in_days, expired_url, max_clicks, track, forward_query, snapshots, stats_public. No passwords, absolute dates or disabled state.
versionintegeroptionalCurrent version from the Library response. A stale edit answers 409.
source_linkstringoptionalCopy compatible settings and owned QR artwork from this account's link.
includestring[]optionalSaved Library ids, at most one of each kind. Omit to inherit account Library defaults. [] opts out of Library defaults. Explicit link fields win.
artwork_fromstringoptionalAn owned Library item's uploaded QR artwork to copy.

Example request

curl -s -X POST "https://snip.link/v1/presets" \
  -H "Authorization: Bearer $SNIP_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Example response

{
  "preset": {
    "kind": "rules"
  }
}

Response fields

FieldTypeDescription
presetLibraryItem
preset.idstring
preset.kindrules | qr | campaign | preview | template
preset.namestring
preset.descriptionstring
preset.configobject
preset.versioninteger
preset.is_defaultboolean
preset.created_atstring
preset.updated_atstring

Errors

StatusMeaning
400The body or query is invalid. details names each field.
401The API key is missing, malformed or revoked.
403This account role cannot perform the action. details.reason identifies the permission refusal.
404No Library item or selected link in the authenticated account.
409The item or a selected link changed. Read it again and preview before retrying.
413The input is larger than the plan allows per run. details carries the size, the limit and the unit.
429Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason).
503The feature is switched off for the service right now. Try again later.

Back to getting started