Vai al contenuto

Crea un codice

POST/v1/codes

Parametri del corpo

namestringobbligatorioEtichetta interna del codice: non viene mai mostrata a chi scansiona.
content.typestringobbligatorioUno dei tipi di codice supportati, per esempio url, vcard, wifi.
content.urlstringobbligatorioDestinazione per un codice url. I campi obbligatori variano per tipo.
dynamicbooleanfacoltativoPredefinito true: un link breve che puoi riassegnare. false codifica direttamente il contenuto.
designobjectfacoltativoMotivo, forma degli occhi e colori. Predefinito il design standard di Dotwick.
folderIdstringfacoltativoCartella in cui archiviare il codice. Obbligatoria per le chiavi limitate a cartelle.
templateIdstringfacoltativoUn modello di design salvato da applicare al posto di design.
domainIdstring | nullfacoltativoDominio breve personalizzato (in arrivo: i domini personalizzati non sono ancora attivi). Omesso = quello predefinito dello spazio di lavoro; null = il dominio condiviso.
slugstringfacoltativoUno slug breve personalizzato al posto di uno generato. Deve essere univoco sul dominio.

Richiesta di esempio

richiestaPOST /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"  }'
risposta201 Createdestratto: l’oggetto completo contiene anche design, regole e timestamp
{  "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"}

Errori

400validation_failedIl corpo non ha superato la validazione dello schema: vedi error.details per i problemi.
401unauthorizedHeader Authorization mancante o non valido.
403forbiddenLa chiave non ha codes:write, o è limitata ad altre cartelle.
403plan_limit_reachedIl limite di codici dinamici del piano è stato raggiunto.
409conflictLo slug è già preso su questo dominio.
422idempotency_conflictL’Idempotency-Key è stata riutilizzata con un corpo diverso.
422unsafe_destinationLa destinazione non ha superato il controllo Google Web Risk / lista di blocco.
429rate_limitedSuperato il budget al minuto o di burst: vedi Retry-After.