Naar de inhoud

Een code maken

POST/v1/codes

Body-parameters

namestringverplichtInterne naam van de code; wordt nooit aan een scanner getoond.
content.typestringverplichtEen van de ondersteunde codetypen, bijvoorbeeld url, vcard, wifi.
content.urlstringverplichtBestemming voor een url-code. Vereiste velden verschillen per type.
dynamicbooleanoptioneelStandaard true: een korte link die je opnieuw kunt richten. false codeert de inhoud direct.
designobjectoptioneelPatroon, oogvorm en kleuren. Standaard het standaardontwerp van Dotwick.
folderIdstringoptioneelMap waarin de code wordt ondergebracht. Vereist voor sleutels die tot mappen zijn beperkt.
templateIdstringoptioneelEen opgeslagen ontwerpsjabloon om toe te passen in plaats van design.
domainIdstring | nulloptioneelEigen domein voor korte links (binnenkort: eigen domeinen staan nog niet aan). Weggelaten = het standaarddomein van de werkruimte; null = het gedeelde domein.
slugstringoptioneelEen eigen slug voor de korte link in plaats van een gegenereerde. Moet uniek zijn op het domein.

Voorbeeldverzoek

verzoekPOST /v1/codes
curl -X POST https://api.dotwick.com/v1/codes \  -H "Authorization: Bearer sk_live_…" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: van-014-2026-09-10" \  -d '{    "name": "Van fleet – unit 14",    "content": {      "type": "url",      "url": "https://example.com/fleet/van-014"    },    "design": {      "pattern": "rounded",      "eyes": {        "frame": "circle",        "ball": "circle"      },      "colors": {        "fg": "#18181B",        "bg": "#FFFFFF"      }    },    "folderId": "fld_8k2m4q7x"  }'
antwoord201 Createdfragment: het volledige object bevat ook ontwerp, regels en tijdstempels
{  "id": "qr_8841ce2mxk",  "name": "Van fleet – unit 14",  "type": "url",  "dynamic": true,  "status": "active",  "slug": "Xq7mK2p",  "shortUrl": "https://dotwick.co/Xq7mK2p",  "content": {    "type": "url",    "url": "https://example.com/fleet/van-014"  },  "folderId": "fld_8k2m4q7x",  "createdAt": "2026-09-10T09:41:08.000Z"}

Fouten

400validation_failedDe body doorstond de schemavalidatie niet: zie error.details voor de problemen.
401unauthorizedOntbrekende of ongeldige Authorization-header.
403forbiddenDe sleutel mist codes:write, of is beperkt tot andere mappen.
403plan_limit_reachedDe limiet voor dynamische codes van het abonnement is bereikt.
409conflictDe slug is al in gebruik op dit domein.
422idempotency_conflictDe Idempotency-Key is hergebruikt met een andere body.
422unsafe_destinationDe bestemming doorstond de controle van Google Web Risk / blokkeerlijst niet.
429rate_limitedBoven het budget per minuut of burst: zie Retry-After.