{"components":{"schemas":{"Error":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"Link":{"properties":{"clicks":{"type":"integer"},"expires_at":{"format":"date-time","type":"string"},"label":{"type":"string"},"short_url":{"format":"uri","type":"string"},"slug":{"example":"anna-und-tom","type":"string"},"target_url":{"format":"uri","type":"string"}},"type":"object"}},"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"}}},"info":{"description":"Create and manage short wedding links.","title":"wedlink API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/availability":{"get":{"parameters":[{"in":"query","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Availability result"}},"security":[],"summary":"Check whether a slug can be claimed"}},"/api/qr":{"get":{"parameters":[{"in":"query","name":"text","required":true,"schema":{"type":"string"}},{"in":"query","name":"format","schema":{"enum":["svg","png"],"type":"string"}},{"in":"query","name":"style","schema":{"enum":["classic","rounded","dots"],"type":"string"}},{"in":"query","name":"size","schema":{"maximum":2048,"type":"integer"}}],"responses":{"200":{"description":"QR image"}},"security":[],"summary":"Render a QR code"}},"/api/v1/links":{"get":{"responses":{"200":{"description":"Links"}},"security":[{"bearerAuth":[]}],"summary":"List links"},"post":{"responses":{"201":{"description":"Created"},"409":{"description":"Slug already taken"}},"security":[{"bearerAuth":[]}],"summary":"Create a link"}},"/api/v1/links/{slug}":{"delete":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}}],"responses":{"204":{"description":"Deleted"}},"security":[{"bearerAuth":[]}],"summary":"Delete a link"},"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}}],"responses":{"200":{"description":"Link"}},"security":[{"bearerAuth":[]}],"summary":"Fetch a link"},"patch":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}}],"responses":{"200":{"description":"Updated"}},"security":[{"bearerAuth":[]}],"summary":"Update where a link points"}}},"servers":[{"url":"https://wedlink.party"}]}
