{"openapi":"3.1.0","info":{"title":"oqrely API","version":"1.0.0","description":"Codes, analytics, static rendering and webhooks of an oqrely workspace. Authenticate with `Authorization: Bearer <key>` (keys are created in the app under Developers). Every response carries X-RateLimit-* headers; list endpoints paginate with `limit` and `cursor`; POST accepts an `Idempotency-Key` header. Breaking changes ship as a new version with at least 12 months of notice."},"servers":[{"url":"https://oqrely.com/v1"}],"security":[{"bearer":[]}],"tags":[{"name":"codes","description":"Fixed and editable codes: create, change, turn off and on, archive, trash, images."},{"name":"analytics","description":"Scan counts and raw scan events."},{"name":"render","description":"Static images without storing anything."},{"name":"folders","description":"Folders of the code library."},{"name":"tags","description":"Tags of the code library."},{"name":"domains","description":"Domains codes can use; adding, checking and removing custom domains."},{"name":"workspaces","description":"Workspaces of the account, client workspaces, branding and GA4."},{"name":"templates","description":"Design, page and print templates."},{"name":"webhooks","description":"Webhook endpoints, deliveries and replay."},{"name":"pages","description":"Hosted pages behind editable codes: structured fields, draft blocks, publish."},{"name":"submissions","description":"Form responses collected by hosted pages."},{"name":"files","description":"Uploading and listing PDFs and images."},{"name":"members","description":"Members of the workspace, their roles and invitations."},{"name":"bulk","description":"Bulk jobs that create many codes at once: preview, dry run, apply, undo, report."},{"name":"brand_kits","description":"Brand kits: colors, logos and style for new codes."}],"paths":{"/codes":{"get":{"operationId":"codes.list","tags":["codes"],"summary":"List codes","description":"Newest first. Filters combine. Sandbox keys list only sandbox codes.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"10"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["fixed","editable"]},"example":"editable"},{"name":"type","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,31}$"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["active","trial","scheduled","turned_off","limit_reached","inactive","blocked","archived","trashed"]}},{"name":"folder_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"tag","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":50}},{"name":"search","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}}],"responses":{"200":{"description":"A page of codes.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"codes.create","tags":["codes"],"summary":"Create a fixed or editable code","description":"Editable codes get a short link on the main short domain unless `domain_id` names another. Send an `Idempotency-Key` header to retry safely.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCode"},"example":{"mode":"editable","type":"url","name":"Spring flyer","content":{"url":"https://example.com/spring"},"tags":["print"]}}}},"responses":{"201":{"description":"The new code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}":{"get":{"operationId":"codes.get","tags":["codes"],"summary":"Get a code","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"429":{"$ref":"#/components/responses/E429"}}},"patch":{"operationId":"codes.update","tags":["codes"],"summary":"Change content, design, rules, link settings, name or folder","description":"Live on the next scan. Fields are applied in this order: content, design, rules, link, name, folder; the first refusal stops the rest. A destination change on a high-traffic code needs confirmation in the app (403 step_up_required).","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCode"},"example":{"content":{"url":"https://example.com/summer"}}}}},"responses":{"200":{"description":"The updated code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"codes.delete","tags":["codes"],"summary":"Move a code to the trash","description":"The code stops working and can be restored for 30 days (POST /codes/{id}/restore); then it is purged and its short link is retired.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The trashed code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/turn-off":{"post":{"operationId":"codes.turn_off","tags":["codes"],"summary":"Turn an editable code off","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The code in its new state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/turn-on":{"post":{"operationId":"codes.turn_on","tags":["codes"],"summary":"Turn an editable code back on","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The code in its new state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/archive":{"post":{"operationId":"codes.archive","tags":["codes"],"summary":"Archive a code","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The code in its new state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/unarchive":{"post":{"operationId":"codes.unarchive","tags":["codes"],"summary":"Bring an archived code back","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The code in its new state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/restore":{"post":{"operationId":"codes.restore","tags":["codes"],"summary":"Restore a code from the trash","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The code in its new state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/tags":{"post":{"operationId":"codes.tag","tags":["tags"],"summary":"Add a tag to a code","description":"Creates the tag in the workspace when it is new.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50}},"required":["name"]},"example":{"name":"print"}}}},"responses":{"200":{"description":"The code with its tags.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/tags/{name}":{"delete":{"operationId":"codes.untag","tags":["tags"],"summary":"Remove a tag from a code","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"name","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":50},"example":"print"}],"responses":{"200":{"description":"The code with its tags.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/image":{"get":{"operationId":"codes.image","tags":["codes"],"summary":"Download the image of a code","description":"SVG, PNG, PDF or EPS with the code design. Counts against the daily API quota.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"format","in":"query","required":false,"schema":{"default":"svg","type":"string","enum":["svg","png","pdf","eps"]},"example":"svg"},{"name":"size","in":"query","required":false,"schema":{"default":1024,"type":"integer","minimum":64,"maximum":4096},"description":"PNG width in pixels."}],"responses":{"200":{"description":"The image.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"image/svg+xml":{"schema":{"type":"string","contentMediaType":"image/svg+xml"}},"image/png":{"schema":{"type":"string","contentMediaType":"image/png"}},"application/pdf":{"schema":{"type":"string","contentMediaType":"application/pdf"}},"application/postscript":{"schema":{"type":"string","contentMediaType":"application/postscript"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/scans":{"get":{"operationId":"scans.stats","tags":["analytics"],"summary":"Scan counts of a code","description":"Human scans per UTC day, or summed per country or device code, over a range of up to 366 days.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"description":"First UTC day (default: 29 days before `to`)."},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"description":"Last UTC day (default: today)."},{"name":"group_by","in":"query","required":false,"schema":{"default":"day","type":"string","enum":["day","country","device"]},"example":"country"}],"responses":{"200":{"description":"Totals and groups.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanStats"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/scans/events":{"get":{"operationId":"scans.events","tags":["analytics"],"summary":"Raw scan events of a code","description":"Newest first, one row per human scan, without any visitor identifier. Needs the raw_events scope (Business and up).","security":[{"bearer":[]}],"x-oqrely-scope":"raw_events","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}}],"responses":{"200":{"description":"A page of scan events.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanEventList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/render":{"post":{"operationId":"render.create","tags":["render"],"summary":"Render a static code image","description":"Encodes `text` as given, or builds the text from a typed `payload` (the same types as the generator). Returns the image bytes. Daily quota: the plan `api.render` value.","security":[{"bearer":[]}],"x-oqrely-scope":"render","x-oqrely-quota":"render","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"},"example":{"payload":{"type":"url","url":"https://example.com/menu"},"format":"svg"}}}},"responses":{"200":{"description":"The image.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"image/svg+xml":{"schema":{"type":"string","contentMediaType":"image/svg+xml"}},"image/png":{"schema":{"type":"string","contentMediaType":"image/png"}},"application/pdf":{"schema":{"type":"string","contentMediaType":"application/pdf"}},"application/postscript":{"schema":{"type":"string","contentMediaType":"application/postscript"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"413":{"$ref":"#/components/responses/E413"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/folders":{"get":{"operationId":"folders.list","tags":["folders"],"summary":"List folders","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of folders.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"folders.create","tags":["folders"],"summary":"Create a folder","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolder"},"example":{"name":"Spring campaign"}}}},"responses":{"201":{"description":"The new folder.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/folders/{id}":{"delete":{"operationId":"folders.delete","tags":["folders"],"summary":"Delete a folder","description":"Codes in it move to the top level; nothing is deleted with it but its subfolders.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The deleted folder.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"429":{"$ref":"#/components/responses/E429"}}}},"/tags":{"get":{"operationId":"tags.list","tags":["tags"],"summary":"List tags","description":"With the number of codes (outside the trash) carrying each tag.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of tags.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/domains":{"get":{"operationId":"domains.list","tags":["domains"],"summary":"List domains codes can use","description":"The oqrely short domains and the custom domains of the workspace. Add and verify custom domains in the app.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of domains.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"domains.create","tags":["domains"],"summary":"Add a custom domain","description":"Returns the DNS record to set. The first check is queued at once; call POST /domains/{id}/check to check again. Apex domains need a provider that flattens CNAMEs (send `flattening_confirmed: true`).","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomain"},"example":{"hostname":"qr.example.com"}}}},"responses":{"201":{"description":"The new domain, waiting for DNS.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/workspaces":{"get":{"operationId":"workspaces.list","tags":["workspaces"],"summary":"List the workspaces of the account","description":"A key works in one workspace; this lists every workspace of the same account.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of workspaces.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"workspaces.create","tags":["workspaces"],"summary":"Create a workspace","description":"Within the plan's workspaces. The key keeps working in its own workspace; create a key in the new one to use it.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkspace"},"example":{"name":"Events"}}}},"responses":{"201":{"description":"The new workspace.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedWorkspace"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/workspaces/current":{"get":{"operationId":"workspaces.current","tags":["workspaces"],"summary":"The workspace of this key","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[],"responses":{"200":{"description":"The workspace.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"429":{"$ref":"#/components/responses/E429"}}},"patch":{"operationId":"workspaces.update","tags":["workspaces"],"summary":"Rename the workspace of this key","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkspace"},"example":{"name":"Marketing"}}}},"responses":{"200":{"description":"Renamed.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"workspace"},"name":{"type":"string"}},"required":["id","object","name"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/templates":{"get":{"operationId":"templates.list","tags":["templates"],"summary":"List templates","description":"Published oqrely templates and the templates of the workspace.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["design","page","print"]},"example":"design"}],"responses":{"200":{"description":"A page of templates.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/webhooks":{"get":{"operationId":"webhooks.list","tags":["webhooks"],"summary":"List webhook endpoints","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"Every endpoint of the workspace (at most 20).","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"webhooks.create","tags":["webhooks"],"summary":"Add a webhook endpoint","description":"The response carries the signing secret once; store it. URLs must use https and reach a public address.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookEndpoint"},"example":{"url":"https://hooks.example.com/oqrely","events":["code.created","code.updated"]}}}},"responses":{"201":{"description":"The endpoint with its secret.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/webhooks/{id}":{"get":{"operationId":"webhooks.get","tags":["webhooks"],"summary":"Get a webhook endpoint","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The endpoint.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"429":{"$ref":"#/components/responses/E429"}}},"patch":{"operationId":"webhooks.update","tags":["webhooks"],"summary":"Change a webhook endpoint","description":"Send `enabled: true` to turn an endpoint back on after it was turned off for failing.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookEndpoint"},"example":{"events":["code.created","code.deleted"]}}}},"responses":{"200":{"description":"The endpoint.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"webhooks.delete","tags":["webhooks"],"summary":"Delete a webhook endpoint","description":"Its delivery log goes with it.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The deleted endpoint.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"429":{"$ref":"#/components/responses/E429"}}}},"/webhooks/{id}/deliveries":{"get":{"operationId":"webhooks.deliveries","tags":["webhooks"],"summary":"Delivery log of an endpoint","description":"Newest first, each delivery with every attempt (time, status code, duration, error). Kept 30 days.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":400},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of deliveries.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/webhooks/{id}/deliveries/{delivery}/replay":{"post":{"operationId":"webhooks.replay","tags":["webhooks"],"summary":"Send a delivery again","description":"Queues the identical body (same event id) as a new delivery, signed with a fresh timestamp.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"delivery","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{1,18}$"},"example":"1"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"201":{"description":"The new delivery.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDelivery"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages":{"get":{"operationId":"pages.list","tags":["pages"],"summary":"List hosted pages","description":"Newest change first, with whether each is published.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of hosted pages.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"pages.create","tags":["pages"],"summary":"Create a hosted page from structured fields","description":"A new editable code with a draft page: a title, an optional subtitle and text, and up to 20 links. Publish it with POST /pages/{id}/publish.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePage"},"example":{"title":"Spring menu","text":"Fresh every morning.","links":[{"label":"Book a table","url":"https://example.com/book"}]}}}},"responses":{"201":{"description":"The new page (a draft).","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}":{"get":{"operationId":"pages.get","tags":["pages"],"summary":"Get a hosted page with its draft blocks","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"patch":{"operationId":"pages.update","tags":["pages"],"summary":"Save the draft blocks of a page","description":"Adding, changing, moving and removing blocks: send the whole block list. Scanners keep the published version until you publish.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePage"},"example":{"blocks":[{"id":"hd","type":"header","title":"Spring menu"}]}}}},"responses":{"200":{"description":"The page with its new draft.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/publish":{"post":{"operationId":"pages.publish","tags":["pages"],"summary":"Publish the draft of a page","description":"Live on the next scan. Refused with 409 and the issues while the draft has publishing errors.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The published page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/unpublish":{"post":{"operationId":"pages.unpublish","tags":["pages"],"summary":"Take a page offline","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The page, unpublished.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/revert":{"post":{"operationId":"pages.revert","tags":["pages"],"summary":"Bring back an earlier published version","description":"The chosen version becomes the live page again.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevertPage"},"example":{"version":1}}}},"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/submissions":{"get":{"operationId":"submissions.list","tags":["submissions"],"summary":"List the form responses of a page","description":"Newest first. Needs the analytics permission in the workspace, like the responses inbox.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of form responses.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormSubmissionList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/files":{"get":{"operationId":"files.list","tags":["files"],"summary":"List uploaded files","description":"PDFs and images of the workspace, newest first. Upload new files in the app.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["pdf","image"]},"description":"Only PDFs or only images.","example":"pdf"}],"responses":{"200":{"description":"A page of files.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"files.upload","tags":["files"],"summary":"Upload a PDF or an image","description":"The file as base64 in JSON. It is checked for malware and type before it can be used (status processing, then ready). Uploading the same bytes again returns the existing file with status 200.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFile"},"example":{"name":"menu.png","content_base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGNgYGD4DwABBAEAwS2OUAAAAABJRU5ErkJggg=="}}}},"responses":{"201":{"description":"The uploaded file.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"409":{"$ref":"#/components/responses/E409"},"413":{"$ref":"#/components/responses/E413"},"415":{"$ref":"#/components/responses/E415"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/files/{id}":{"delete":{"operationId":"files.delete","tags":["files"],"summary":"Delete a file","description":"It leaves the file list and the storage meter; pages that still show it keep working until it is purged.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The deleted file.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/members":{"get":{"operationId":"members.list","tags":["members"],"summary":"List the members of the workspace","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of members.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/members/invites":{"get":{"operationId":"members.invites","tags":["members"],"summary":"List open invitations","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"Open invitations.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"members.invite","tags":["members"],"summary":"Invite someone to the workspace","description":"Returns the invitation link once. It works for that e-mail address only, once, for 7 days.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInvite"},"example":{"email":"sam@example.com","role":"editor"}}}},"responses":{"201":{"description":"The invitation.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invite"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/members/invites/{id}":{"delete":{"operationId":"members.revoke_invite","tags":["members"],"summary":"Withdraw an invitation","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"Withdrawn.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"invite"},"revoked":{"type":"boolean","const":true}},"required":["id","object","revoked"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/members/{user_id}":{"patch":{"operationId":"members.update","tags":["members"],"summary":"Change the role of a member","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMember"},"example":{"role":"viewer"}}}},"responses":{"200":{"description":"The member with the new role.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"members.remove","tags":["members"],"summary":"Remove a member","description":"Their codes move to you; their API keys and assistant connections in this workspace stop.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"Removed.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"user_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"member"},"removed":{"type":"boolean","const":true}},"required":["user_id","object","removed"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk":{"get":{"operationId":"bulk.list","tags":["bulk"],"summary":"List bulk jobs","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of bulk jobs.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJobList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"bulk.create","tags":["bulk"],"summary":"Create many codes in one job","description":"Rows of url, name and tags. A request larger than the plan's bulk rows is refused before anything is created.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBulkJob"},"example":{"mode":"editable","rows":[{"url":"https://example.com/a","name":"Table 1"}]}}}},"responses":{"202":{"description":"The queued job.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}":{"get":{"operationId":"bulk.get","tags":["bulk"],"summary":"Get a bulk job with its counts","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The job.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}/cancel":{"post":{"operationId":"bulk.cancel","tags":["bulk"],"summary":"Stop a running bulk job","description":"Rows already done stay done.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The job.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/brand-kits":{"get":{"operationId":"brand_kits.list","tags":["brand_kits"],"summary":"List brand kits","description":"Colors, logos and style the workspace applies to new codes. Pass a kit's design to codes.create as `design`.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of brand kits.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKitList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"brand_kits.create","tags":["brand_kits"],"summary":"Create a brand kit","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKitInput"},"example":{"name":"Main brand","colors":{"brand":"#0B6E4F","background":"#FFFFFF","accent":"#F2A541","light":"#E8F5EE"},"frameId":null,"domainId":null}}}},"responses":{"201":{"description":"The new kit.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKit"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/brand-kits/{id}":{"patch":{"operationId":"brand_kits.update","tags":["brand_kits"],"summary":"Change a brand kit","description":"Send the whole kit, as for create.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKitInput"},"example":{"name":"Main brand","colors":{"brand":"#0B6E4F","background":"#FFFFFF","accent":"#F2A541","light":"#E8F5EE"},"frameId":null,"domainId":null}}}},"responses":{"200":{"description":"The kit.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKit"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"brand_kits.delete","tags":["brand_kits"],"summary":"Delete a brand kit","description":"Codes keep their design.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The deleted kit.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKit"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/brand-kits/{id}/default":{"post":{"operationId":"brand_kits.set_default","tags":["brand_kits"],"summary":"Make a brand kit the default for new codes","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The kit.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKit"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/domains/{id}":{"get":{"operationId":"domains.get","tags":["domains"],"summary":"Get a custom domain with its setup status","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The domain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"domains.delete","tags":["domains"],"summary":"Remove a custom domain","description":"Printed codes on it stop working. Send the hostname as `confirm` to say you mean it.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"confirm","in":"query","required":true,"schema":{"type":"string","maxLength":253},"description":"The hostname of the domain.","example":"qr.example.com"}],"responses":{"200":{"description":"The removed domain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/domains/{id}/check":{"post":{"operationId":"domains.check","tags":["domains"],"summary":"Check DNS, TLS or health now","description":"One check for the current setup step, as the setup screen runs while you wait.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"The domain after the check.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"},"503":{"$ref":"#/components/responses/E503"}}}},"/domains/{id}/default":{"post":{"operationId":"domains.set_default","tags":["domains"],"summary":"Make a domain the default for new codes","description":"Send `unset: true` to go back to the main short domain.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultDomain"},"example":{"unset":false}}}},"responses":{"200":{"description":"The domain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/domains/{id}/site":{"patch":{"operationId":"domains.update_site","tags":["domains"],"summary":"Set what the domain root and unknown links answer","description":"Modes: redirect (to `site_url`), link_list (a page with up to 20 links) or not_found.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainSite"},"example":{"root_mode":"redirect","site_url":"https://example.com"}}}},"responses":{"200":{"description":"The domain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/domains/{id}/release-slugs":{"post":{"operationId":"domains.release_slugs","tags":["domains"],"summary":"Release links a previous owner retired on this domain","description":"Needs a DNS check that verified the domain since you added it, and `confirm: true`: scanners of those old printed codes then reach your links.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseSlugs"},"example":{"confirm":true}}}},"responses":{"200":{"description":"How many retired links were released.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","const":"slug_release"},"released":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["object","released"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/destination-domains/verify":{"post":{"operationId":"domains.verify_destination","tags":["domains"],"summary":"Prove you control a destination domain","description":"Checks the DNS TXT record or the meta tag (`oqrely-verify`) on the destination site. A verified domain lifts the trial rule on new destination domains.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyDestination"},"example":{"domain":"example.com"}}}},"responses":{"200":{"description":"The verification: the token to publish and whether it was found.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationVerification"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/files/{id}/link":{"get":{"operationId":"files.link","tags":["files"],"summary":"Get a short-lived link to a file","description":"A signed link to view (or with `download=true`, download) a ready file.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"download","in":"query","required":false,"schema":{"default":"false","type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"The link.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileLink"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/settings":{"patch":{"operationId":"pages.update_settings","tags":["pages"],"summary":"Change the settings and theme of a page","description":"Fields you leave out keep their value. `brand_kit_id` applies a brand kit: its colour, typeface and logo.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageSettings"},"example":{"settings":{"title":"Spring menu"},"theme":{"accent":"#0B6E4F"}}}}},"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/languages":{"post":{"operationId":"pages.add_language","tags":["pages"],"summary":"Add a language version of a page","description":"Scanners see the version in their browser language. It starts as a copy of the main language.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPageLanguage"},"example":{"lang":"de"}}}},"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/pages/{id}/languages/{lang}":{"patch":{"operationId":"pages.update_language","tags":["pages"],"summary":"Set the title and description of a language version","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"lang","in":"path","required":true,"schema":{"type":"string","maxLength":10},"example":"de"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageLanguageText"},"example":{"title":"Speisekarte","description":"Frisch jeden Morgen."}}}},"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"pages.remove_language","tags":["pages"],"summary":"Remove a language version of a page","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"lang","in":"path","required":true,"schema":{"type":"string","maxLength":10},"example":"de"}],"responses":{"200":{"description":"The page.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/preview":{"post":{"operationId":"bulk.preview","tags":["bulk"],"summary":"Check rows before a bulk job","description":"Validates every row against the plan's bulk rows and the code rules, without creating anything. Then POST /bulk (or with `dry_run: true`, a dry run you apply later).","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBulkJob"},"example":{"mode":"editable","rows":[{"url":"https://example.com/a","name":"Table 1"}]}}}},"responses":{"200":{"description":"The validation report.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPreview"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}/apply":{"post":{"operationId":"bulk.apply","tags":["bulk"],"summary":"Apply a dry run","description":"Runs the planned rows of a finished dry run for real.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"202":{"description":"The queued job.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}/undo":{"post":{"operationId":"bulk.undo","tags":["bulk"],"summary":"Undo a bulk update","description":"Puts back what an update job changed, within 24 hours of the run.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"How many codes were put back.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","const":"bulk_undo"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"restored":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["object","id","restored","failed"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"410":{"$ref":"#/components/responses/E410"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}/report":{"get":{"operationId":"bulk.report","tags":["bulk"],"summary":"The rows of a bulk job with their result","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"100"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of rows.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReport"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/bulk/{id}/files/{name}":{"get":{"operationId":"bulk.download","tags":["bulk"],"summary":"Download the ZIP of codes or the print sheet of a job","description":"`name` is codes.zip or sheet.pdf, as the job made them.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"name","in":"path","required":true,"schema":{"type":"string","enum":["codes.zip","sheet.pdf"]},"example":"codes.zip"}],"responses":{"200":{"description":"The file.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/zip":{"schema":{"type":"string","contentMediaType":"application/zip"}},"application/pdf":{"schema":{"type":"string","contentMediaType":"application/pdf"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/convert":{"post":{"operationId":"codes.convert","tags":["codes"],"summary":"Make an editable copy of a fixed code, or a fixed copy of an editable one","description":"A new code; the original stays as it is. A fixed copy holds the editable code's current content.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"201":{"description":"The new code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/domain":{"post":{"operationId":"codes.move_domain","tags":["codes"],"summary":"Move an editable code to another domain","description":"Its short link moves to that domain. A code that was already downloaded or exported needs `confirm_breaks_printed: true`, because printed copies stop working.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveDomain"},"example":{"domain_id":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}}}},"responses":{"200":{"description":"The code.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Code"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/print-record":{"get":{"operationId":"codes.print_record","tags":["codes"],"summary":"The note and print runs of a code","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The print record.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrintRecord"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/note":{"patch":{"operationId":"codes.set_note","tags":["codes"],"summary":"Set the note of a code","description":"Up to 2,000 characters; an empty note removes it.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeNote"},"example":{"note":"Printed for the spring fair."}}}},"responses":{"200":{"description":"The print record.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrintRecord"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/print-runs":{"post":{"operationId":"codes.add_print_run","tags":["codes"],"summary":"Record a print run of a code","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePrintRun"},"example":{"quantity":500,"medium":"Flyer A5","printed_on":"2026-10-01","printer":"City Print"}}}},"responses":{"201":{"description":"The print record.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrintRecord"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/print-runs/{run_id}":{"delete":{"operationId":"codes.delete_print_run","tags":["codes"],"summary":"Remove a print run from a code","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The print record.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrintRecord"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/counter/reset":{"post":{"operationId":"codes.reset_counter","tags":["analytics"],"summary":"Set the scan counter of an editable code back to 0","description":"The analytics history stays; only the counter (and scan limits that read it) starts again.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Reset.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","const":"scan_counter"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"count":{"type":"number","const":0}},"required":["object","code_id","count"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/codes/{id}/check-again":{"post":{"operationId":"codes.check_again","tags":["codes"],"summary":"Ask for a new check of a held code","description":"When the automatic link check held a code, this runs it again now (10 times a day per code).","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"202":{"description":"The check is queued.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","const":"code_check"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"queued":{"type":"boolean"}},"required":["object","code_id","queued"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/destinations/broken":{"get":{"operationId":"destinations.broken","tags":["codes"],"summary":"Editable codes whose destination is down","description":"Open incidents of the daily destination check, newest first: the code, its URL, the last status or error and since when it fails. A code leaves the list when its destination answers again.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100.","example":"20"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of broken destinations.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokenDestinationList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/folders/{id}/restore":{"post":{"operationId":"folders.restore","tags":["folders"],"summary":"Bring back a deleted folder","description":"The folder, its subfolders and the codes that were in them, unless they moved since.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Restored.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"folder"},"restored":{"type":"boolean","const":true}},"required":["id","object","restored"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/scans/export":{"get":{"operationId":"scans.export","tags":["analytics"],"summary":"Export the scans of the workspace","description":"CSV or XLSX for the range (default 30 days). Small exports come back at once (200); larger ones are prepared in the background (202 with the export to fetch).","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"format","in":"query","required":false,"schema":{"default":"csv","type":"string","enum":["csv","xlsx"]},"example":"csv"},{"name":"range","in":"query","required":false,"schema":{"type":"string","enum":["7d","30d","90d","12m","custom"]},"example":"30d"},{"name":"from","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"tz","in":"query","required":false,"schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The spreadsheet.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"text/csv":{"schema":{"type":"string","contentMediaType":"text/csv"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","contentMediaType":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"413":{"$ref":"#/components/responses/E413"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/scans/exports/{id}":{"get":{"operationId":"scans.export_download","tags":["analytics"],"summary":"Download a prepared scan export","description":"404 until it is ready, and after it expires.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"responses":{"200":{"description":"The spreadsheet.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"text/csv":{"schema":{"type":"string","contentMediaType":"text/csv"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","contentMediaType":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/scans/realtime":{"get":{"operationId":"scans.realtime","tags":["analytics"],"summary":"Scans of the last 60 minutes","description":"Human scans per minute and the latest scans, for the workspace or one code.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"code_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"The last hour.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Realtime"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/members/{user_id}/folders":{"patch":{"operationId":"members.set_folders","tags":["members"],"summary":"Limit a member to some folders","description":"An empty list gives the member the whole workspace again.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberFolders"},"example":{"folder_ids":[]}}}},"responses":{"200":{"description":"The member's folders.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"user_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"member_folders"},"folder_ids":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["user_id","object","folder_ids"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/clients":{"get":{"operationId":"clients.list","tags":["workspaces"],"summary":"List client workspaces","description":"Agency plans: the client workspaces of the account with their codes, scans and members.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"`next_cursor` of the previous page."}],"responses":{"200":{"description":"A page of client workspaces.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientWorkspaceList"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"clients.create","tags":["workspaces"],"summary":"Create a client workspace","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClient"},"example":{"name":"Corner Bakery"}}}},"responses":{"201":{"description":"The new client workspace.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedWorkspace"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/clients/{pub_id}/invites":{"post":{"operationId":"clients.invite","tags":["workspaces"],"summary":"Invite someone to a client workspace","description":"Returns the invitation link once.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"pub_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{1,32}$"},"example":"abc123"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClientInvite"},"example":{"email":"owner@example.com","role":"viewer"}}}},"responses":{"201":{"description":"The invitation.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invite"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/clients/{pub_id}/brand-kit":{"post":{"operationId":"clients.set_brand_kit","tags":["workspaces"],"summary":"Choose the brand kit of a client workspace","description":"Its colours and logo brand what the client's scanners see. Leave `brand_kit_id` out to clear it.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"pub_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{1,32}$"},"example":"abc123"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientBrandKit"},"example":{"brand_kit_id":null}}}},"responses":{"200":{"description":"The client's branding.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Branding"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/clients/{pub_id}/copy":{"post":{"operationId":"clients.copy_codes","tags":["workspaces"],"summary":"Copy codes between your workspace and a client workspace","description":"Up to 50 codes per call. Copies get new short links; the originals stay.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"name":"pub_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{1,32}$"},"example":"abc123"},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyCodes"},"example":{"direction":"to_client","code_ids":["5ca1ab1e-c0de-4a11-8e5e-0d0c5a3b1e01"]}}}},"responses":{"200":{"description":"How many were copied.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","const":"code_copy"},"copied":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["object","copied","failed"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/branding":{"get":{"operationId":"branding.get","tags":["workspaces"],"summary":"The branding scanners see","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[],"responses":{"200":{"description":"The workspace branding.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Branding"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"patch":{"operationId":"branding.update","tags":["workspaces"],"summary":"Change the branding scanners see","description":"Display name, logo (an uploaded image file), accent colour or a brand kit, on plans with custom branding.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBranding"},"example":{"display_name":"Corner Bakery","accent":"#0B6E4F"}}}},"responses":{"200":{"description":"The workspace branding.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Branding"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}},"/integrations/ga4":{"get":{"operationId":"ga4.get","tags":["workspaces"],"summary":"The GA4 connection of the workspace","description":"Whether every human scan is sent to a GA4 web stream as a `qr_scan` event. The API secret is never shown.","security":[{"bearer":[]}],"x-oqrely-scope":"read","x-oqrely-quota":"api","parameters":[],"responses":{"200":{"description":"The connection.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ga4Connection"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"post":{"operationId":"ga4.connect","tags":["workspaces"],"summary":"Send scans to GA4","description":"A measurement id (G-...) and a Measurement Protocol API secret from your GA4 web stream.","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectGa4"},"example":{"measurement_id":"G-ABCD1234","api_secret":"secret-from-ga4"}}}},"responses":{"200":{"description":"The connection.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ga4Connection"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}},"delete":{"operationId":"ga4.disconnect","tags":["workspaces"],"summary":"Stop sending scans to GA4","security":[{"bearer":[]}],"x-oqrely-scope":"write","x-oqrely-quota":"api","parameters":[],"responses":{"200":{"description":"The connection.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ga4Connection"}}}},"401":{"$ref":"#/components/responses/E401"},"403":{"$ref":"#/components/responses/E403"},"404":{"$ref":"#/components/responses/E404"},"409":{"$ref":"#/components/responses/E409"},"422":{"$ref":"#/components/responses/E422"},"429":{"$ref":"#/components/responses/E429"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"An API key. Scopes: render, read, write, raw_events, limited by the plan. Sandbox keys (oqr_test_) create codes that never resolve publicly."}},"headers":{"RateLimitLimit":{"description":"Calls allowed today (UTC) for this kind of call.","schema":{"type":"integer"}},"RateLimitRemaining":{"description":"Calls left today.","schema":{"type":"integer"}},"RateLimitReset":{"description":"Unix time of the next reset (UTC midnight).","schema":{"type":"integer"}}},"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":false,"description":"Repeat a POST safely: the first response is returned again for 24 hours.","schema":{"type":"string","maxLength":255}}},"responses":{"E400":{"description":"The body is not valid JSON.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E401":{"description":"Missing, invalid, revoked or expired API key.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E403":{"description":"The key lacks the scope, or the plan does not include it.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E404":{"description":"Not found in this workspace.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E409":{"description":"Conflicts with the current state.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E410":{"description":"Gone (for example out of the trash window).","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E413":{"description":"The body is too large.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E415":{"description":"The file type is not accepted.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E422":{"description":"Validation failed; `details.issues` lists the fields.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E429":{"description":"Daily quota used up; see Retry-After.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E503":{"description":"A provider did not answer; try again shortly.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Design":{"type":"object","properties":{"ecl":{"type":"string","enum":["L","M","Q","H"]},"margin":{"default":5,"type":"number","minimum":4,"maximum":20},"modules":{"type":"object","properties":{"shape":{"default":"square","type":"string","enum":["square","small-square","rounded","extra-rounded","classy","classy-rounded","dots","diamond","star","cross","vertical-lines","horizontal-lines","heart","mosaic","hand-drawn","soft-square","blobs","random-dots","rounded-squares","squircle","tiles","octagon","hexagon","x-cross","connected-dots","leaf","cushion","pebble","drop","flower","bevel","star-6"]},"color":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"solid"},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["type","color"]},{"type":"object","properties":{"type":{"type":"string","const":"linear"},"angle":{"default":0,"type":"number","minimum":-360,"maximum":360},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"radial"},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]}]}}},"eyes":{"type":"object","properties":{"frameShape":{"default":"square","type":"string","enum":["square","rounded","extra-rounded","leaf","soft","squircle","leaf-alt","leaf-soft","corner-out","corner-in","three-rounded","tab","drop","rounded-square-inner","square-rounded-inner","chamfer","cut","dots","dashed","heavy-rounded"]},"ballShape":{"default":"square","type":"string","enum":["square","rounded","circle","octagon","leaf","squircle","leaf-alt","cushion","barrel","heart","plus","hexagon","corner-in","three-rounded","tab","dots","flower","pill","cut","soft"]},"colors":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"frame":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"solid"},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["type","color"]},{"type":"object","properties":{"type":{"type":"string","const":"linear"},"angle":{"default":0,"type":"number","minimum":-360,"maximum":360},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"radial"},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]}]},"ball":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"solid"},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["type","color"]},{"type":"object","properties":{"type":{"type":"string","const":"linear"},"angle":{"default":0,"type":"number","minimum":-360,"maximum":360},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"radial"},"stops":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["offset","color"]}}},"required":["type","stops"]}]}}}}}},"background":{"type":"object","properties":{"color":{"anyOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},{"type":"string","const":"transparent"}]},"image":{"type":"object","properties":{"src":{"type":"string","maxLength":1500000,"pattern":"^data:image\\/(?:png|jpeg|webp);base64,[A-Za-z0-9+/]+=*$"},"opacity":{"default":0.3,"type":"number","minimum":0,"maximum":1}},"required":["src"]}},"required":["color"]},"logo":{"type":"object","properties":{"src":{"type":"string","maxLength":1500000,"pattern":"^data:image\\/(?:png|jpeg|webp|svg\\+xml);base64,[A-Za-z0-9+/]+=*$"},"size":{"default":0.22,"type":"number","minimum":0.05,"maximum":0.4},"clearArea":{"default":true,"type":"boolean"},"padding":{"default":1,"type":"number","minimum":0,"maximum":4},"shape":{"default":"square","type":"string","enum":["square","rounded","circle"]}},"required":["src"]},"frame":{"type":"object","properties":{"template":{"default":"none","type":"string","enum":["none","banner-bottom","banner-top","rounded-box","banner","bubble","phone","ticket","label","badge","ribbon","polaroid","circle","rounded-outline","brackets","tab","speech","sticker","stamp","arrow","scissors","poster","tent","scooter","screen","seasonal","lanyard","burst","pin","cup","bag","clipboard","double"]},"text":{"default":"","type":"string","maxLength":40,"pattern":"^[^\\u0000-\\u001f\\u007f]*$"},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"textColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"fontFamily":{"default":"Helvetica, Arial, sans-serif","type":"string","pattern":"^[A-Za-z0-9 ,-]{1,80}$"},"position":{"default":"bottom","type":"string","enum":["bottom","top"]},"corner":{"default":"rounded","type":"string","enum":["square","rounded","pill"]},"border":{"default":"thin","type":"string","enum":["thin","bold"]},"icon":{"default":"none","type":"string","enum":["none","scan","phone","camera","arrow","tap","menu","star","wifi","heart","calendar","gift","cart","mail","info","pin"]},"accent":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"subtext":{"default":"","type":"string","maxLength":60,"pattern":"^[^\\u0000-\\u001f\\u007f]*$"},"fontWeight":{"default":700,"anyOf":[{"type":"number","const":400},{"type":"number","const":700}]},"uppercase":{"default":false,"type":"boolean"},"letterSpacing":{"default":0,"type":"number","minimum":0,"maximum":0.3},"decor":{"default":"none","type":"string","enum":["none","dots","stars","hearts","arrows","sparkles","snow","leaves","notes","chevrons"]},"variant":{"default":0,"type":"number","minimum":0,"maximum":7}}},"outer":{"type":"object","properties":{"shape":{"type":"string","enum":["circle","rounded","diamond","hexagon","octagon","heart","star","shield","speech","house","leaf","cloud","flower","arch"]},"outline":{"default":false,"type":"boolean"},"outlineColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"}},"required":["shape"]},"print":{"type":"object","properties":{"size":{"type":"string","enum":["us-card","eu-card","a4","a5","a6","letter","4x6","table-tent","sign-rider","sticker-2in","sticker-3in","sticker-4in"]}},"required":["size"]}},"description":"Colors, shapes, logo and frame of the image."},"Payload":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":2048}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string","minLength":1,"maxLength":7089}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"email"},"to":{"type":"string","minLength":1,"maxLength":254},"cc":{"type":"string","maxLength":254},"bcc":{"type":"string","maxLength":254},"subject":{"type":"string","maxLength":250},"body":{"type":"string","maxLength":2000}},"required":["type","to"]},{"type":"object","properties":{"type":{"type":"string","const":"sms"},"phone":{"type":"string","minLength":1,"maxLength":32},"message":{"type":"string","maxLength":1000},"format":{"default":"smsto","type":"string","enum":["smsto","sms"]}},"required":["type","phone"]},{"type":"object","properties":{"type":{"type":"string","const":"phone"},"phone":{"type":"string","minLength":1,"maxLength":32}},"required":["type","phone"]},{"type":"object","properties":{"type":{"type":"string","const":"wifi"},"ssid":{"type":"string","minLength":1,"maxLength":64},"password":{"type":"string","maxLength":64},"security":{"default":"WPA","type":"string","enum":["WPA","WPA2","WPA3","WEP","nopass"]},"hidden":{"default":false,"type":"boolean"}},"required":["type","ssid"]},{"type":"object","properties":{"type":{"type":"string","const":"vcard"},"version":{"default":"3.0","type":"string","enum":["3.0","4.0"]},"firstName":{"type":"string","maxLength":100},"lastName":{"type":"string","maxLength":100},"middleName":{"type":"string","maxLength":100},"prefix":{"type":"string","maxLength":50},"suffix":{"type":"string","maxLength":50},"formattedName":{"type":"string","maxLength":200},"org":{"type":"string","maxLength":200},"department":{"type":"string","maxLength":200},"title":{"type":"string","maxLength":200},"phones":{"default":[],"maxItems":5,"type":"array","items":{"type":"object","properties":{"number":{"type":"string","minLength":1,"maxLength":32},"kind":{"default":"cell","type":"string","enum":["cell","work","home","fax","voice"]}},"required":["number"]}},"emails":{"default":[],"maxItems":5,"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1,"maxLength":254},"kind":{"default":"work","type":"string","enum":["work","home"]}},"required":["address"]}},"urls":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","maxLength":2048}},"address":{"type":"object","properties":{"street":{"type":"string","maxLength":200},"city":{"type":"string","maxLength":100},"region":{"type":"string","maxLength":100},"postcode":{"type":"string","maxLength":20},"country":{"type":"string","maxLength":100},"kind":{"default":"work","type":"string","enum":["work","home"]}}},"note":{"type":"string","maxLength":1000},"birthday":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"mecard"},"firstName":{"type":"string","maxLength":100},"lastName":{"type":"string","maxLength":100},"phones":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":32}},"emails":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":254}},"url":{"type":"string","maxLength":2048},"address":{"type":"string","maxLength":300},"note":{"type":"string","maxLength":500},"birthday":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"geo"},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"label":{"type":"string","maxLength":100},"format":{"default":"geo","type":"string","enum":["geo","google","apple","waze"]}},"required":["type","lat","lng"]},{"type":"object","properties":{"type":{"type":"string","const":"event"},"summary":{"type":"string","minLength":1,"maxLength":200},"start":{"type":"string","minLength":1},"end":{"type":"string"},"allDay":{"default":false,"type":"boolean"},"location":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":1000},"url":{"type":"string","maxLength":2048},"wrap":{"default":"vevent","type":"string","enum":["vevent","vcalendar"]},"uid":{"type":"string","pattern":"^[A-Za-z0-9@._-]{1,100}$"}},"required":["type","summary","start"]},{"type":"object","properties":{"type":{"type":"string","const":"epc"},"version":{"default":"002","type":"string","enum":["001","002"]},"name":{"type":"string","minLength":1},"iban":{"type":"string","minLength":1},"bic":{"type":"string"},"amount":{"type":["number","string"]},"purpose":{"type":"string"},"reference":{"type":"string"},"text":{"type":"string"},"info":{"type":"string"}},"required":["type","name","iban"]},{"type":"object","properties":{"type":{"type":"string","const":"app"},"store":{"type":"string","enum":["apple","google","huawei","amazon"]},"id":{"type":"string","minLength":1,"maxLength":150}},"required":["type","store","id"]},{"type":"object","properties":{"type":{"type":"string","const":"uri"},"uri":{"type":"string","minLength":1,"maxLength":2048}},"required":["type","uri"]}],"description":"A typed payload: `type` plus the fields of that type."},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine code, for example `not_found` or `rate_limited`."},"message":{"type":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["code","message","details"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"LinkSettings":{"type":"object","properties":{"redirect_status":{"anyOf":[{"type":"number","const":301},{"type":"number","const":302},{"type":"number","const":307},{"type":"number","const":308}]},"scan_cap":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"starts_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"ends_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"additionalProperties":false},"Pixels":{"type":"object","properties":{"entries":{"maxItems":16,"type":"array","items":{"type":"object","properties":{"vendor":{"type":"string","minLength":1,"maxLength":32},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["vendor","id"],"additionalProperties":false}},"custom":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"interstitial":{"type":"boolean"},"privacy_notice":{"type":"boolean"}},"additionalProperties":false},"ScanAlerts":{"type":"object","properties":{"email_on":{"type":"boolean"},"slack_url":{"description":"A Slack incoming webhook URL to set, or null to clear it.","anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"rate_cap_minutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"ScanAlertsOut":{"type":"object","properties":{"email_on":{"type":"boolean"},"slack_set":{"type":"boolean","description":"Whether a Slack webhook is stored (the URL itself is never returned)."},"rate_cap_minutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["email_on","slack_set","rate_cap_minutes"],"additionalProperties":false},"Code":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"code"},"mode":{"type":"string","enum":["fixed","editable"]},"type":{"type":"string"},"name":{"type":["string","null"]},"state":{"type":"string","enum":["active","trial","scheduled","turned_off","limit_reached","inactive","blocked","archived","trashed"]},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"design":{"$ref":"#/components/schemas/Design"},"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"short_url":{"description":"The printed link of an editable code.","type":["string","null"]},"domain_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"slug":{"type":["string","null"]},"folder_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"redirect_status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"scan_cap":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"starts_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"ends_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"trial_ends_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"sandbox":{"type":"boolean"},"pixels":{"type":"object","properties":{"entries":{"maxItems":16,"type":"array","items":{"type":"object","properties":{"vendor":{"type":"string","minLength":1,"maxLength":32},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["vendor","id"],"additionalProperties":false}},"custom":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"interstitial":{"type":"boolean"},"privacy_notice":{"type":"boolean"}},"additionalProperties":false,"description":"The code’s tracking pixels (LNK-062/070).","$ref":"#/components/schemas/Pixels"},"scan_alerts":{"description":"The code’s scan alerts, when any are set (ANA-019c).","$ref":"#/components/schemas/ScanAlertsOut"},"image_urls":{"type":"object","properties":{"svg":{"type":"string"},"png":{"type":"string"},"pdf":{"type":"string"},"eps":{"type":"string"}},"required":["svg","png","pdf","eps"],"additionalProperties":false},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"deleted_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"warnings":{"description":"Content warnings on create and update (the code is saved).","type":"array","items":{"type":"string"}},"safety":{"description":"The destination check on create and update: pending = scanners see a checking page until it is clean.","type":"string","enum":["live","pending","refused"]}},"required":["id","object","mode","type","name","state","content","design","rules","short_url","domain_id","slug","folder_id","tags","redirect_status","scan_cap","starts_at","ends_at","trial_ends_at","sandbox","pixels","image_urls","created_at","updated_at","archived_at","deleted_at"],"additionalProperties":false},"CodeList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Code"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"CreateCode":{"type":"object","properties":{"mode":{"type":"string","enum":["fixed","editable"]},"type":{"type":"string","minLength":1,"maxLength":32},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"design":{"$ref":"#/components/schemas/Design"},"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"folder_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"tags":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":50}},"domain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string","minLength":1,"maxLength":64},"link":{"$ref":"#/components/schemas/LinkSettings"},"pixels":{"$ref":"#/components/schemas/Pixels"},"scan_alerts":{"$ref":"#/components/schemas/ScanAlerts"}},"required":["mode","type","content"]},"UpdateCode":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"design":{"$ref":"#/components/schemas/Design"},"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"link":{"$ref":"#/components/schemas/LinkSettings"},"pixels":{"$ref":"#/components/schemas/Pixels"},"scan_alerts":{"$ref":"#/components/schemas/ScanAlerts"},"folder_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}}},"ScanStats":{"type":"object","properties":{"object":{"type":"string","const":"scan_stats"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"group_by":{"type":"string","enum":["day","country","device"]},"total":{"type":"object","properties":{"scans":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unique":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["scans","unique"],"additionalProperties":false},"groups":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"scans":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unique":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["key","scans","unique"],"additionalProperties":false}}},"required":["object","code_id","from","to","group_by","total","groups"],"additionalProperties":false},"ScanEvent":{"type":"object","properties":{"scan_id":{"type":"string"},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"country":{"type":["string","null"]},"region":{"type":["string","null"]},"city":{"type":["string","null"]},"device":{"type":["string","null"]},"os":{"type":["string","null"]},"browser":{"type":["string","null"]},"lang":{"type":["string","null"]},"referrer_host":{"type":["string","null"]},"source":{"type":["string","null"]},"unique":{"type":"boolean"},"rule_hit":{"type":["string","null"]},"ab_variant":{"type":["string","null"]}},"required":["scan_id","at","country","region","city","device","os","browser","lang","referrer_host","source","unique","rule_hit","ab_variant"],"additionalProperties":false},"ScanEventList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ScanEvent"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"RenderRequest":{"type":"object","properties":{"text":{"description":"The exact text to encode.","type":"string","minLength":1,"maxLength":4096},"payload":{"description":"Or a typed payload (url, text, wifi, vcard, ...).","$ref":"#/components/schemas/Payload"},"format":{"default":"svg","type":"string","enum":["svg","png","pdf","eps"]},"size":{"default":1024,"description":"PNG width in pixels.","type":"integer","minimum":64,"maximum":4096},"design":{"$ref":"#/components/schemas/Design"}}},"Folder":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"folder"},"name":{"type":"string"},"parent_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","name","parent_id","created_at"],"additionalProperties":false},"FolderList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"CreateFolder":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"parent_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["name"]},"Tag":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"tag"},"name":{"type":"string"},"codes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","name","codes","created_at"],"additionalProperties":false},"TagList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Domain":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"domain"},"hostname":{"type":"string"},"kind":{"type":"string","enum":["main","backup","dev","custom"]},"status":{"type":"string","description":"pending_dns, pending_tls, active, failed, drifted (custom domains); active for oqrely domains."},"is_default":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","hostname","kind","status","is_default","created_at"],"additionalProperties":false},"DomainList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Domain"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Workspace":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"workspace"},"name":{"type":"string"},"kind":{"type":"string","enum":["personal","client"]},"plan":{"type":"string"},"read_only":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","name","kind","plan","read_only","created_at"],"additionalProperties":false},"WorkspaceList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Template":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"template"},"kind":{"type":"string","enum":["design","page","print"]},"name":{"type":"string"},"slug":{"type":"string"},"locale":{"type":"string"},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"shared":{"type":"boolean"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","kind","name","slug","locale","body","shared","updated_at"],"additionalProperties":false},"TemplateList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Template"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"webhook_endpoint"},"url":{"type":"string"},"description":{"type":["string","null"]},"events":{"type":"array","items":{"type":"string","enum":["code.created","code.updated","code.deleted","code.state_changed","destination.changed","destination.broken","code.flagged","form.submitted","page.published","domain.status_changed","bulk.completed","billing.state_changed","scan.created"]}},"scan_mode":{"type":"string","enum":["sampled","full"]},"status":{"type":"string","enum":["active","disabled","stopped"]},"stopped_reason":{"type":["string","null"]},"secret":{"description":"Returned once, when the endpoint is created.","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","url","description","events","scan_mode","status","stopped_reason","created_at"],"additionalProperties":false},"WebhookEndpointList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"CreateWebhookEndpoint":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":13,"type":"array","items":{"type":"string","enum":["code.created","code.updated","code.deleted","code.state_changed","destination.changed","destination.broken","code.flagged","form.submitted","page.published","domain.status_changed","bulk.completed","billing.state_changed","scan.created"]}},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"scan_mode":{"type":"string","enum":["sampled","full"]}},"required":["url","events"]},"UpdateWebhookEndpoint":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":13,"type":"array","items":{"type":"string","enum":["code.created","code.updated","code.deleted","code.state_changed","destination.changed","destination.broken","code.flagged","form.submitted","page.published","domain.status_changed","bulk.completed","billing.state_changed","scan.created"]}},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"scan_mode":{"type":"string","enum":["sampled","full"]},"enabled":{"description":"true turns a disabled endpoint back on.","type":"boolean"}}},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"webhook_delivery"},"event":{"type":"string"},"event_id":{"type":["string","null"]},"status":{"type":"string","enum":["pending","delivered","failed","dead"]},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"next_attempt_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"replay_of":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"delivered_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"log":{"type":"array","items":{"type":"object","properties":{"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"response_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"duration_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"type":["string","null"]}},"required":["attempt","at","response_code","duration_ms","error"],"additionalProperties":false}}},"required":["id","object","event","event_id","status","attempts","response_code","next_attempt_at","replay_of","created_at","delivered_at","log"],"additionalProperties":false},"WebhookDeliveryList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDelivery"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Page":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"page"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string"},"name":{"type":["string","null"]},"short_url":{"type":["string","null"]},"published":{"type":"boolean"},"published_version":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"blocks":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","code_id","kind","name","short_url","published","published_version","updated_at"],"additionalProperties":false},"PageList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Page"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"CreatePage":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":160},"subtitle":{"type":"string","maxLength":300},"text":{"type":"string","maxLength":5000},"links":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":120},"url":{"type":"string","minLength":1,"maxLength":2048}},"required":["label","url"],"additionalProperties":false}},"kind":{"default":"links","description":"The page type.","type":"string","enum":["card","links","menu","event","coupon","form","feedback","business","pdf","free"]},"lang":{"description":"Content language, for example en or de (default en).","type":"string","maxLength":10},"folder_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["title"],"additionalProperties":false},"UpdatePage":{"type":"object","properties":{"blocks":{"maxItems":200,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"The draft blocks, as the page builder saves them."},"lang":{"type":"string","maxLength":10}},"required":["blocks"],"additionalProperties":false},"RevertPage":{"type":"object","properties":{"version":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["version"],"additionalProperties":false},"FormSubmission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"form_submission"},"kind":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"locale":{"type":["string","null"]},"answers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","label","type","value"],"additionalProperties":false}},"attending":{"type":["string","null"]}},"required":["id","object","kind","created_at","locale","answers","attending"],"additionalProperties":false},"FormSubmissionList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FormSubmission"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"File":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"file"},"name":{"type":"string"},"mime":{"type":"string"},"bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","name","mime","bytes","status","created_at"],"additionalProperties":false},"FileList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/File"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Member":{"type":"object","properties":{"user_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"member"},"email":{"type":"string"},"name":{"type":["string","null"]},"role":{"type":"string"},"is_owner":{"type":"boolean"},"joined_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["user_id","object","email","name","role","is_owner","joined_at"],"additionalProperties":false},"MemberList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Member"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Invite":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"invite"},"email":{"type":"string"},"role":{"type":"string"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"invite_url":{"type":"string"}},"required":["id","object","email","role","expires_at"],"additionalProperties":false},"CreateInvite":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"type":"string","enum":["admin","editor","viewer","billing"]}},"required":["email","role"],"additionalProperties":false},"UpdateMember":{"type":"object","properties":{"role":{"type":"string","enum":["admin","editor","viewer","billing"]}},"required":["role"],"additionalProperties":false},"InviteList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Invite"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"BulkJob":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"bulk_job"},"status":{"type":"string"},"action":{"type":"string"},"counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"finished_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"report_url":{"type":"string"}},"required":["id","object","status","action","counts","created_at","finished_at","report_url"],"additionalProperties":false},"CreateBulkJob":{"type":"object","properties":{"mode":{"default":"editable","type":"string","enum":["fixed","editable"]},"rows":{"minItems":1,"maxItems":50000,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048},"name":{"type":"string","maxLength":200},"tags":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":50}}},"required":["url"],"additionalProperties":false}},"folder_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dry_run":{"default":false,"description":"Plan the rows without creating codes; apply the dry run later with POST /bulk/{id}/apply.","type":"boolean"}},"required":["rows"],"additionalProperties":false},"BulkJobList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/BulkJob"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"BrandKit":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"brand_kit"},"name":{"type":"string"},"colors":{},"is_default":{"type":"boolean"},"read_only":{"type":"boolean"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","name","colors","is_default","read_only","updated_at"],"additionalProperties":false},"BrandKitInput":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"name, colors (brand, background, accent, light, optional eye), logos, logoShape, style, frameId and cta, as the studio saves them."},"BrandKitList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/BrandKit"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"UpdateWorkspace":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80}},"required":["name"],"additionalProperties":false},"CustomDomain":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"domain"},"hostname":{"type":"string"},"kind":{"type":"string","const":"custom"},"status":{"type":"string","description":"pending_dns, pending_tls, active, failed or drifted."},"tls":{"type":"string"},"health":{"type":"string"},"problem":{"type":["string","null"]},"is_default":{"type":"boolean"},"codes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"record":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false,"description":"The DNS record to set at your provider."},"site":{"type":"object","properties":{"root_mode":{"type":["string","null"]},"not_found_mode":{"type":["string","null"]},"site_url":{"type":["string","null"]}},"required":["root_mode","not_found_mode","site_url"],"additionalProperties":false},"verified_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"last_checked_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","hostname","kind","status","tls","health","problem","is_default","codes","record","site","verified_at","last_checked_at","created_at"],"additionalProperties":false},"CreateDomain":{"type":"object","properties":{"hostname":{"type":"string","minLength":3,"maxLength":253},"flattening_confirmed":{"default":false,"type":"boolean"}},"required":["hostname"],"additionalProperties":false},"DefaultDomain":{"type":"object","properties":{"unset":{"default":false,"type":"boolean"}},"required":["unset"],"additionalProperties":false},"DomainSite":{"type":"object","properties":{"root_mode":{"anyOf":[{"type":"string","enum":["redirect","link_list","not_found"]},{"type":"null"}]},"not_found_mode":{"anyOf":[{"type":"string","enum":["redirect","link_list","not_found"]},{"type":"null"}]},"site_url":{"anyOf":[{"type":"string","maxLength":2100},{"type":"null"}]},"title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"links":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":120},"url":{"type":"string","minLength":1,"maxLength":2048}},"required":["label","url"],"additionalProperties":false}}},"additionalProperties":false},"ReleaseSlugs":{"type":"object","properties":{"confirm":{"type":"boolean"}},"required":["confirm"],"additionalProperties":false},"VerifyDestination":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":300}},"required":["domain"],"additionalProperties":false},"DestinationVerification":{"type":"object","properties":{"object":{"type":"string","const":"destination_verification"},"domain":{"type":"string"},"token":{"type":"string"},"txt_record":{"type":"string"},"verified":{"type":"boolean"},"verified_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["object","domain","token","txt_record","verified","verified_at"],"additionalProperties":false},"UploadFile":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"content_base64":{"type":"string","minLength":4,"description":"The file bytes, base64 encoded."}},"required":["name","content_base64"],"additionalProperties":false},"FileLink":{"type":"object","properties":{"object":{"type":"string","const":"file_link"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string"}},"required":["object","id","url"],"additionalProperties":false},"PageSettings":{"type":"object","properties":{"settings":{"description":"title, description, lang, ownerName, privacyUrl, indexable, favicon.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"theme":{"description":"style, accent, mode, font, logo, logoAlt, background.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"brand_kit_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"retention_months":{"type":"integer","minimum":1,"maximum":120}},"additionalProperties":false},"AddPageLanguage":{"type":"object","properties":{"lang":{"type":"string","maxLength":10}},"required":["lang"],"additionalProperties":false},"PageLanguageText":{"type":"object","properties":{"title":{"default":"","type":"string","maxLength":160},"description":{"default":"","type":"string","maxLength":300}},"required":["title","description"],"additionalProperties":false},"BulkPreview":{"type":"object","properties":{"object":{"type":"string","const":"bulk_preview"},"draft_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"valid":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"invalid":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"over_limit":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"field":{"type":"string"},"code":{"type":"string"}},"required":["line","field","code"],"additionalProperties":false}}},"required":["object","draft_id","total","valid","invalid","limit","over_limit","errors"],"additionalProperties":false},"BulkReport":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string"},"code_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"code":{"type":"string"}},"required":["field","code"],"additionalProperties":false}}},"required":["line","status","code_id","errors"],"additionalProperties":false}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"PrintRun":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"print_run"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"medium":{"type":"string"},"printed_on":{"type":"string"},"printer":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","quantity","medium","printed_on","printer","created_at"],"additionalProperties":false},"PrintRecord":{"type":"object","properties":{"object":{"type":"string","const":"print_record"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"type":["string","null"]},"print_runs":{"type":"array","items":{"$ref":"#/components/schemas/PrintRun"}}},"required":["object","code_id","note","print_runs"],"additionalProperties":false},"MoveDomain":{"type":"object","properties":{"domain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm_breaks_printed":{"default":false,"type":"boolean"}},"required":["domain_id","confirm_breaks_printed"],"additionalProperties":false},"CodeNote":{"type":"object","properties":{"note":{"type":"string","maxLength":2000}},"required":["note"],"additionalProperties":false},"CreatePrintRun":{"type":"object","properties":{"quantity":{"type":"integer","minimum":1,"maximum":100000000},"medium":{"type":"string","minLength":1,"maxLength":120},"printed_on":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"printer":{"type":"string","minLength":1,"maxLength":200}},"required":["quantity","medium","printed_on","printer"],"additionalProperties":false},"BrokenDestinationList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"broken_destination"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"code_name":{"type":["string","null"]},"url":{"type":["string","null"]},"status":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"error":{"type":["string","null"]},"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"checked_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","object","code_id","code_name","url","status","error","since","checked_at"],"additionalProperties":false}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Realtime":{"type":"object","properties":{"object":{"type":"string","const":"realtime"},"minutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"per_minute":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scans":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["at","scans"],"additionalProperties":false}},"recent":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"code_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"code_name":{"type":["string","null"]},"country":{"type":["string","null"]},"city":{"type":["string","null"]},"device":{"type":["string","null"]}},"required":["at","code_id","code_name","country","city","device"],"additionalProperties":false}}},"required":["object","minutes","total","per_minute","recent"],"additionalProperties":false},"CreatedWorkspace":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"workspace"},"name":{"type":"string"},"kind":{"type":"string","enum":["personal","client"]}},"required":["id","object","name","kind"]},"ClientWorkspace":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"client_workspace"},"pub_id":{"type":"string"},"name":{"type":"string"},"codes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"scans_this_month":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"members":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","object","pub_id","name","codes","scans_this_month","members"],"additionalProperties":false},"Branding":{"type":"object","properties":{"object":{"type":"string","const":"branding"},"display_name":{"type":["string","null"]},"logo_file_id":{"type":["string","null"]},"accent":{"type":["string","null"]},"brand_kit_id":{"type":["string","null"]}},"required":["object","display_name","logo_file_id","accent","brand_kit_id"],"additionalProperties":false},"Ga4Connection":{"type":"object","properties":{"object":{"type":"string","const":"ga4_connection"},"connected":{"type":"boolean"},"measurement_id":{"type":["string","null"]}},"required":["object","connected","measurement_id"],"additionalProperties":false},"CreateWorkspace":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80}},"required":["name"],"additionalProperties":false},"MemberFolders":{"type":"object","properties":{"folder_ids":{"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["folder_ids"],"additionalProperties":false},"ClientWorkspaceList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ClientWorkspace"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"CreateClient":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200}},"required":["name"],"additionalProperties":false},"CreateClientInvite":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"type":"string","enum":["viewer","analyst","creator","editor"]}},"required":["email","role"],"additionalProperties":false},"ClientBrandKit":{"type":"object","properties":{"brand_kit_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"additionalProperties":false},"CopyCodes":{"type":"object","properties":{"direction":{"type":"string","enum":["to_client","from_client"]},"code_ids":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["direction","code_ids"],"additionalProperties":false},"UpdateBranding":{"type":"object","properties":{"display_name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"logo_file_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"accent":{"anyOf":[{"type":"string","maxLength":9},{"type":"null"}]},"brand_kit_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"additionalProperties":false},"ConnectGa4":{"type":"object","properties":{"measurement_id":{"type":"string","maxLength":40},"api_secret":{"type":"string","minLength":1,"maxLength":200}},"required":["measurement_id","api_secret"],"additionalProperties":false}}}}