@codeqr/ts-mcp 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,7 +38,7 @@ const EMBEDDED_METHODS = [
38
38
  'proxy?: boolean;',
39
39
  'publicStats?: boolean;',
40
40
  'rewrite?: boolean;',
41
- "rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[];",
41
+ "rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[];",
42
42
  'tagId?: string;',
43
43
  'tagIds?: string | string[];',
44
44
  'tagNames?: string | string[];',
@@ -48,12 +48,12 @@ const EMBEDDED_METHODS = [
48
48
  'video?: string;',
49
49
  'webhookIds?: string[];',
50
50
  ],
51
- response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
52
- markdown: "## create\n\n`client.links.create(url: string, android?: string, archived?: boolean, comments?: string, description?: string, doIndex?: boolean, domain?: string, expiredUrl?: string, expiresAt?: string, externalId?: string, flexible?: boolean, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, pageId?: string, pageUrl?: string, password?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[], tagId?: string, tagIds?: string | string[], tagNames?: string | string[], title?: string, trackConversion?: boolean, useAsTemplate?: boolean, video?: string, webhookIds?: string[]): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**post** `/links`\n\nCreate a new link for the authenticated workspace.\n\n### Parameters\n\n- `url: string`\n The destination URL of the short link.\n\n- `android?: string`\n The Android destination URL for the short link for Android device targeting.\n\n- `archived?: boolean`\n Whether the short link is archived.\n\n- `comments?: string`\n The comments for the short link.\n\n- `description?: string`\n The description of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your short link. Default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the short link. If not provided, the main domain of the project will be used (or `codeqr.link` if the project has no domains).\n\n- `expiredUrl?: string`\n The URL to redirect to when the short link expires.\n\n- `expiresAt?: string`\n The date and time when the short link will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `flexible?: boolean`\n Whether the short link is flexible.\n\n- `folderId?: string`\n The unique ID existing folder to assign the short link to.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `image?: string`\n The image of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The iOS destination URL for the short link for iOS device targeting.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the short link. If not provided, a random 7-character slug will be generated.\n\n- `pageId?: string`\n The ID of the page to redirect to before the link destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the link destination.\n\n- `password?: string`\n The password required to access the short link destination URL.\n\n- `prefix?: string`\n The prefix of the short link slug for randomly generated keys (for example, if the prefix is `/c/`, the generated keys will be in the format `/c/:key`). Will be ignored if `key` is provided.\n\n- `preRedirection?: boolean`\n Whether the short link has pre-redirection.\n\n- `proxy?: boolean`\n Whether the short link uses the custom link preview feature.\n\n- `publicStats?: boolean`\n Whether the short link statistics are publicly accessible.\n\n- `rewrite?: boolean`\n Whether the short link uses link cloaking.\n\n- `rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the short link.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive).\n\n- `title?: string`\n The title of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n Whether to track conversions for the short link.\n\n- `useAsTemplate?: boolean`\n Whether this link should be used as a reusable template.\n\n- `video?: string`\n The video of the short link.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst link = await client.links.create({ url: 'https://google.com' });\n\nconsole.log(link);\n```",
51
+ response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
52
+ markdown: "## create\n\n`client.links.create(url: string, android?: string, archived?: boolean, comments?: string, description?: string, doIndex?: boolean, domain?: string, expiredUrl?: string, expiresAt?: string, externalId?: string, flexible?: boolean, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, pageId?: string, pageUrl?: string, password?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[], tagId?: string, tagIds?: string | string[], tagNames?: string | string[], title?: string, trackConversion?: boolean, useAsTemplate?: boolean, video?: string, webhookIds?: string[]): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**post** `/links`\n\nCreate a new link for the authenticated workspace.\n\n### Parameters\n\n- `url: string`\n The destination URL of the short link.\n\n- `android?: string`\n The Android destination URL for the short link for Android device targeting.\n\n- `archived?: boolean`\n Whether the short link is archived. Archiving hides it from the default dashboard listing; the link keeps redirecting and keeps counting clicks.\n\n- `comments?: string`\n The comments for the short link.\n\n- `description?: string`\n The description of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your short link. Default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the short link. If not provided, the main domain of the project will be used (or `codeqr.link` if the project has no domains).\n\n- `expiredUrl?: string`\n The URL to redirect to when the short link expires.\n\n- `expiresAt?: string`\n The date and time when the short link will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `flexible?: boolean`\n Whether the short link is flexible.\n\n- `folderId?: string`\n The unique ID existing folder to assign the short link to.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `image?: string`\n The image of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The iOS destination URL for the short link for iOS device targeting.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the short link. If not provided, a random 7-character slug will be generated.\n\n- `pageId?: string`\n The ID of the page to redirect to before the link destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the link destination.\n\n- `password?: string`\n The password required to access the short link destination URL.\n\n- `prefix?: string`\n The prefix of the short link slug for randomly generated keys (for example, if the prefix is `/c/`, the generated keys will be in the format `/c/:key`). Will be ignored if `key` is provided.\n\n- `preRedirection?: boolean`\n Whether the short link has pre-redirection.\n\n- `proxy?: boolean`\n Whether the short link uses the custom link preview feature.\n\n- `publicStats?: boolean`\n Whether the short link statistics are publicly accessible.\n\n- `rewrite?: boolean`\n Whether the short link uses link cloaking.\n\n- `rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the short link.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive). Ignored when `tagIds` is also present.\n\n- `title?: string`\n The title of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n Whether to track conversions for the short link.\n\n- `useAsTemplate?: boolean`\n Whether this link should be used as a reusable template.\n\n- `video?: string`\n The video of the short link.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst link = await client.links.create({ url: 'https://google.com' });\n\nconsole.log(link);\n```",
53
53
  perLanguage: {
54
54
  typescript: {
55
55
  method: 'client.links.create',
56
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.create({ url: 'https://google.com' });\n\nconsole.log(link.id);",
56
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.create({ url: 'https://google.com' });\n\nconsole.log(link.id);",
57
57
  },
58
58
  http: {
59
59
  example: 'curl https://api.codeqr.io/links \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "url": "https://google.com",\n "externalId": "123456",\n "tagIds": [\n "clux0rgak00011..."\n ]\n }\'',
@@ -111,12 +111,12 @@ const EMBEDDED_METHODS = [
111
111
  'utm_term?: string;',
112
112
  'withTags?: boolean;',
113
113
  ],
114
- response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }[]",
115
- markdown: "## list\n\n`client.links.list(android?: string, clicksMax?: number, clicksMin?: number, comments?: string, createdAfter?: string, createdBefore?: string, domain?: string, expiresAfter?: string, expiresAt?: string, expiresBefore?: string, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, hasComments?: boolean, hasCustomSocial?: boolean, hasDevice?: boolean, hasExpiration?: boolean, hasGeo?: boolean, hasPassword?: boolean, hasTags?: boolean, hasUTM?: boolean, ios?: string, linkIds?: string | string[], page?: number, pageSize?: number, password?: string, projectSlug?: string, search?: string, showArchived?: boolean, sort?: 'createdAt' | 'clicks' | 'lastClicked', tagId?: string, tagIds?: string | string[], tagNames?: string | string[], trackConversion?: boolean, useAsTemplate?: boolean, userId?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string, withTags?: boolean): object[]`\n\n**get** `/links`\n\nRetrieve a paginated list of links for the authenticated workspace.\n\n### Parameters\n\n- `android?: string`\n The Android device to filter by.\n\n- `clicksMax?: number`\n Maximum number of clicks\n\n- `clicksMin?: number`\n Minimum number of clicks\n\n- `comments?: string`\n The comments to filter by.\n\n- `createdAfter?: string`\n Created after date (ISO string)\n\n- `createdBefore?: string`\n Created before date (ISO string)\n\n- `domain?: string`\n The domain to filter the links. For example, `ac.me`. If not provided, all links of the project will be returned.\n\n- `expiresAfter?: string`\n Expires after date (ISO string)\n\n- `expiresAt?: string`\n The date and time the short link will expire in ISO-8601 format. Must be in the future.\n\n- `expiresBefore?: string`\n Expires before date (ISO string)\n\n- `folderId?: string`\n The folder ID to filter the links by.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `hasComments?: boolean`\n Filter links that have comments (any comments)\n\n- `hasCustomSocial?: boolean`\n Filter links that have custom social media cards\n\n- `hasDevice?: boolean`\n Filter links that have device targeting\n\n- `hasExpiration?: boolean`\n Filter links that have expiration date (any expiration)\n\n- `hasGeo?: boolean`\n Filter links that have geo-targeting\n\n- `hasPassword?: boolean`\n Filter links that have password protection (any password)\n\n- `hasTags?: boolean`\n Filter links that have tags (any tags)\n\n- `hasUTM?: boolean`\n Filter links that have UTM parameters\n\n- `ios?: string`\n The iOS device to filter by.\n\n- `linkIds?: string | string[]`\n Link IDs to filter by.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `password?: string`\n The password to filter by.\n\n- `projectSlug?: string`\n The slug of the project to which the link belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `search?: string`\n The search term to filter the links. The search term will be matched against the short link slug and the destination URL.\n\n- `showArchived?: boolean`\n If should include archived links in the response. The default is `false` if not provided.\n\n- `sort?: 'createdAt' | 'clicks' | 'lastClicked'`\n The field to sort the links by. The default is `createdAt`, and sort order is always descending.\n\n- `tagId?: string`\n [OBSOLETO (use tagIds em vez disso)]: The unique ID of the tag assigned to the short link.\n\n- `tagIds?: string | string[]`\n The IDs of the tags to filter the links.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive).\n\n- `trackConversion?: boolean`\n If should include links with conversion tracking enabled. The default is `false` if not provided.\n\n- `useAsTemplate?: boolean`\n Filter links marked as templates.\n\n- `userId?: string`\n The ID of the user to filter by.\n\n- `utm_campaign?: string`\n Filter by UTM campaign value\n\n- `utm_content?: string`\n Filter by UTM content value\n\n- `utm_medium?: string`\n Filter by UTM medium value\n\n- `utm_source?: string`\n Filter by UTM source value\n\n- `utm_term?: string`\n Filter by UTM term value\n\n- `withTags?: boolean`\n If should include tags in the response. The default is `false` if not provided.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst links = await client.links.list();\n\nconsole.log(links);\n```",
114
+ response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }[]",
115
+ markdown: "## list\n\n`client.links.list(android?: string, clicksMax?: number, clicksMin?: number, comments?: string, createdAfter?: string, createdBefore?: string, domain?: string, expiresAfter?: string, expiresAt?: string, expiresBefore?: string, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, hasComments?: boolean, hasCustomSocial?: boolean, hasDevice?: boolean, hasExpiration?: boolean, hasGeo?: boolean, hasPassword?: boolean, hasTags?: boolean, hasUTM?: boolean, ios?: string, linkIds?: string | string[], page?: number, pageSize?: number, password?: string, projectSlug?: string, search?: string, showArchived?: boolean, sort?: 'createdAt' | 'clicks' | 'lastClicked', tagId?: string, tagIds?: string | string[], tagNames?: string | string[], trackConversion?: boolean, useAsTemplate?: boolean, userId?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string, withTags?: boolean): object[]`\n\n**get** `/links`\n\nRetrieve a paginated list of links for the authenticated workspace.\n\n### Parameters\n\n- `android?: string`\n The Android device to filter by.\n\n- `clicksMax?: number`\n Maximum number of clicks\n\n- `clicksMin?: number`\n Minimum number of clicks\n\n- `comments?: string`\n The comments to filter by.\n\n- `createdAfter?: string`\n Created after date (ISO string)\n\n- `createdBefore?: string`\n Created before date (ISO string)\n\n- `domain?: string`\n The domain to filter the links. For example, `ac.me`. If not provided, all links of the project will be returned.\n\n- `expiresAfter?: string`\n Expires after date (ISO string)\n\n- `expiresAt?: string`\n The date and time the short link will expire in ISO-8601 format. Must be in the future.\n\n- `expiresBefore?: string`\n Expires before date (ISO string)\n\n- `folderId?: string`\n The folder ID to filter the links by.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `hasComments?: boolean`\n Filter links that have comments (any comments)\n\n- `hasCustomSocial?: boolean`\n Filter links that have custom social media cards\n\n- `hasDevice?: boolean`\n Filter links that have device targeting\n\n- `hasExpiration?: boolean`\n Filter links that have expiration date (any expiration)\n\n- `hasGeo?: boolean`\n Filter links that have geo-targeting\n\n- `hasPassword?: boolean`\n Filter links that have password protection (any password)\n\n- `hasTags?: boolean`\n Filter links that have tags (any tags)\n\n- `hasUTM?: boolean`\n Filter links that have UTM parameters\n\n- `ios?: string`\n The iOS device to filter by.\n\n- `linkIds?: string | string[]`\n Link IDs to filter by.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `password?: string`\n The password to filter by.\n\n- `projectSlug?: string`\n The slug of the project to which the link belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `search?: string`\n The search term to filter the links. The search term will be matched against the short link slug and the destination URL.\n\n- `showArchived?: boolean`\n If should include archived links in the response. The default is `false` if not provided.\n\n- `sort?: 'createdAt' | 'clicks' | 'lastClicked'`\n The field to sort the links by. The default is `createdAt`, and sort order is always descending.\n\n- `tagId?: string`\n [OBSOLETO (use tagIds em vez disso)]: The unique ID of the tag assigned to the short link.\n\n- `tagIds?: string | string[]`\n The IDs of the tags to filter the links.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive).\n\n- `trackConversion?: boolean`\n If should include links with conversion tracking enabled. The default is `false` if not provided.\n\n- `useAsTemplate?: boolean`\n Filter links marked as templates.\n\n- `userId?: string`\n The ID of the user to filter by.\n\n- `utm_campaign?: string`\n Filter by UTM campaign value\n\n- `utm_content?: string`\n Filter by UTM content value\n\n- `utm_medium?: string`\n Filter by UTM medium value\n\n- `utm_source?: string`\n Filter by UTM source value\n\n- `utm_term?: string`\n Filter by UTM term value\n\n- `withTags?: boolean`\n If should include tags in the response. The default is `false` if not provided.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst links = await client.links.list();\n\nconsole.log(links);\n```",
116
116
  perLanguage: {
117
117
  typescript: {
118
118
  method: 'client.links.list',
119
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst links = await client.links.list();\n\nconsole.log(links);",
119
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst links = await client.links.list();\n\nconsole.log(links);",
120
120
  },
121
121
  http: {
122
122
  example: 'curl https://api.codeqr.io/links \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -138,12 +138,12 @@ const EMBEDDED_METHODS = [
138
138
  'externalId?: string;',
139
139
  'linkId?: string;',
140
140
  ],
141
- response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
142
- markdown: "## retrieve_info\n\n`client.links.retrieveInfo(domain: string, key: string, projectSlug: string, externalId?: string, linkId?: string): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**get** `/links/info`\n\nRetrieve the info for a link.\n\n### Parameters\n\n- `domain: string`\n The domain of the link to be retrieved. For example, for `codeqr.link/github`, the domain is `codeqr.link`.\n\n- `key: string`\n The key of the link to be retrieved. For example, for `codeqr.link/github`, the key is `github`.\n\n- `projectSlug: string`\n The slug of the project to which the link belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `externalId?: string`\n This is the ID of the link in your database. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `linkId?: string`\n The unique ID of the short link.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst link = await client.links.retrieveInfo({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(link);\n```",
141
+ response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
142
+ markdown: "## retrieve_info\n\n`client.links.retrieveInfo(domain: string, key: string, projectSlug: string, externalId?: string, linkId?: string): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**get** `/links/info`\n\nRetrieve the info for a link.\n\n### Parameters\n\n- `domain: string`\n The domain of the link to be retrieved. For example, for `codeqr.link/github`, the domain is `codeqr.link`.\n\n- `key: string`\n The key of the link to be retrieved. For example, for `codeqr.link/github`, the key is `github`.\n\n- `projectSlug: string`\n The slug of the project to which the link belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `externalId?: string`\n This is the ID of the link in your database. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `linkId?: string`\n The unique ID of the short link.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst link = await client.links.retrieveInfo({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(link);\n```",
143
143
  perLanguage: {
144
144
  typescript: {
145
145
  method: 'client.links.retrieveInfo',
146
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.retrieveInfo({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(link.id);",
146
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.retrieveInfo({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(link.id);",
147
147
  },
148
148
  http: {
149
149
  example: 'curl https://api.codeqr.io/links/info \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -184,7 +184,7 @@ const EMBEDDED_METHODS = [
184
184
  'proxy?: boolean;',
185
185
  'publicStats?: boolean;',
186
186
  'rewrite?: boolean;',
187
- "rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[];",
187
+ "rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[];",
188
188
  'tagId?: string;',
189
189
  'tagIds?: string | string[];',
190
190
  'tagNames?: string | string[];',
@@ -195,12 +195,12 @@ const EMBEDDED_METHODS = [
195
195
  'video?: string;',
196
196
  'webhookIds?: string[];',
197
197
  ],
198
- response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
199
- markdown: "## update\n\n`client.links.update(linkId: string, android?: string, archived?: boolean, comments?: string, description?: string, doIndex?: boolean, domain?: string, expiredUrl?: string, expiresAt?: string, externalId?: string, flexible?: boolean, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, pageId?: string, pageUrl?: string, password?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[], tagId?: string, tagIds?: string | string[], tagNames?: string | string[], title?: string, trackConversion?: boolean, url?: string, useAsTemplate?: boolean, video?: string, webhookIds?: string[]): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**put** `/links/{linkId}`\n\nUpdate a link for the authenticated workspace. If there's no change, returns it as it is.\n\n### Parameters\n\n- `linkId: string`\n The id of the link to update. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`.\n\n- `android?: string`\n The Android destination URL for the short link for Android device targeting.\n\n- `archived?: boolean`\n Whether the short link is archived.\n\n- `comments?: string`\n The comments for the short link.\n\n- `description?: string`\n The description of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your short link. Default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the short link. If not provided, the main domain of the project will be used (or `codeqr.link` if the project has no domains).\n\n- `expiredUrl?: string`\n The URL to redirect to when the short link expires.\n\n- `expiresAt?: string`\n The date and time when the short link will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `flexible?: boolean`\n Whether the short link is flexible.\n\n- `folderId?: string`\n The unique ID existing folder to assign the short link to.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `image?: string`\n The image of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The iOS destination URL for the short link for iOS device targeting.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the short link. If not provided, a random 7-character slug will be generated.\n\n- `pageId?: string`\n The ID of the page to redirect to before the link destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the link destination.\n\n- `password?: string`\n The password required to access the short link destination URL.\n\n- `prefix?: string`\n The prefix of the short link slug for randomly generated keys (for example, if the prefix is `/c/`, the generated keys will be in the format `/c/:key`). Will be ignored if `key` is provided.\n\n- `preRedirection?: boolean`\n Whether the short link has pre-redirection.\n\n- `proxy?: boolean`\n Whether the short link uses the custom link preview feature.\n\n- `publicStats?: boolean`\n Whether the short link statistics are publicly accessible.\n\n- `rewrite?: boolean`\n Whether the short link uses link cloaking.\n\n- `rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the short link.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive).\n\n- `title?: string`\n The title of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n Whether to track conversions for the short link.\n\n- `url?: string`\n The destination URL of the short link.\n\n- `useAsTemplate?: boolean`\n Whether this link should be used as a reusable template.\n\n- `video?: string`\n The video of the short link.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst link = await client.links.update('linkId');\n\nconsole.log(link);\n```",
198
+ response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }",
199
+ markdown: "## update\n\n`client.links.update(linkId: string, android?: string, archived?: boolean, comments?: string, description?: string, doIndex?: boolean, domain?: string, expiredUrl?: string, expiresAt?: string, externalId?: string, flexible?: boolean, folderId?: string, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, pageId?: string, pageUrl?: string, password?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[], tagId?: string, tagIds?: string | string[], tagNames?: string | string[], title?: string, trackConversion?: boolean, url?: string, useAsTemplate?: boolean, video?: string, webhookIds?: string[]): { id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; tagId: string; tags: tag[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n**put** `/links/{linkId}`\n\nUpdate a link for the authenticated workspace. If there's no change, returns it as it is.\n\n### Parameters\n\n- `linkId: string`\n The id of the link to update. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`.\n\n- `android?: string`\n The Android destination URL for the short link for Android device targeting.\n\n- `archived?: boolean`\n Whether the short link is archived. Archiving hides it from the default dashboard listing; the link keeps redirecting and keeps counting clicks.\n\n- `comments?: string`\n The comments for the short link.\n\n- `description?: string`\n The description of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your short link. Default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the short link. If not provided, the main domain of the project will be used (or `codeqr.link` if the project has no domains).\n\n- `expiredUrl?: string`\n The URL to redirect to when the short link expires.\n\n- `expiresAt?: string`\n The date and time when the short link will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.\n\n- `flexible?: boolean`\n Whether the short link is flexible.\n\n- `folderId?: string`\n The unique ID existing folder to assign the short link to.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `image?: string`\n The image of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The iOS destination URL for the short link for iOS device targeting.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the short link. If not provided, a random 7-character slug will be generated.\n\n- `pageId?: string`\n The ID of the page to redirect to before the link destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the link destination.\n\n- `password?: string`\n The password required to access the short link destination URL.\n\n- `prefix?: string`\n The prefix of the short link slug for randomly generated keys (for example, if the prefix is `/c/`, the generated keys will be in the format `/c/:key`). Will be ignored if `key` is provided.\n\n- `preRedirection?: boolean`\n Whether the short link has pre-redirection.\n\n- `proxy?: boolean`\n Whether the short link uses the custom link preview feature.\n\n- `publicStats?: boolean`\n Whether the short link statistics are publicly accessible.\n\n- `rewrite?: boolean`\n Whether the short link uses link cloaking.\n\n- `rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the short link.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the short link (case insensitive). Ignored when `tagIds` is also present.\n\n- `title?: string`\n The title of the short link generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n Whether to track conversions for the short link.\n\n- `url?: string`\n The destination URL of the short link.\n\n- `useAsTemplate?: boolean`\n Whether this link should be used as a reusable template.\n\n- `video?: string`\n The video of the short link.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `clicks: number`\n - `comments: string`\n - `createdAt: string`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `leads: number`\n - `notificationToken: string`\n - `password: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `title: string`\n - `trackConversion: boolean`\n - `updatedAt: string`\n - `url: string`\n - `useAsTemplate: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `video: string`\n - `pageId?: string`\n - `pageUrl?: string`\n - `qrCode?: string`\n - `shortLink?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst link = await client.links.update('linkId');\n\nconsole.log(link);\n```",
200
200
  perLanguage: {
201
201
  typescript: {
202
202
  method: 'client.links.update',
203
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.update('linkId');\n\nconsole.log(link.id);",
203
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.update('linkId');\n\nconsole.log(link.id);",
204
204
  },
205
205
  http: {
206
206
  example: 'curl https://api.codeqr.io/links/$LINK_ID \\\n -X PUT \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -217,11 +217,11 @@ const EMBEDDED_METHODS = [
217
217
  qualified: 'client.links.delete',
218
218
  params: ['linkId: string;'],
219
219
  response: '{ id: string; }',
220
- markdown: "## delete\n\n`client.links.delete(linkId: string): { id: string; }`\n\n**delete** `/links/{linkId}`\n\nDelete a link for the authenticated workspace.\n\n### Parameters\n\n- `linkId: string`\n The id of the link to delete. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst link = await client.links.delete('linkId');\n\nconsole.log(link);\n```",
220
+ markdown: "## delete\n\n`client.links.delete(linkId: string): { id: string; }`\n\n**delete** `/links/{linkId}`\n\nDelete a link for the authenticated workspace.\n\n### Parameters\n\n- `linkId: string`\n The id of the link to delete. You may use either `linkId` (obtained via `/links/info` endpoint) or `externalId` prefixed with `ext_`.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst link = await client.links.delete('linkId');\n\nconsole.log(link);\n```",
221
221
  perLanguage: {
222
222
  typescript: {
223
223
  method: 'client.links.delete',
224
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.delete('linkId');\n\nconsole.log(link.id);",
224
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.delete('linkId');\n\nconsole.log(link.id);",
225
225
  },
226
226
  http: {
227
227
  example: 'curl https://api.codeqr.io/links/$LINK_ID \\\n -X DELETE \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -237,14 +237,14 @@ const EMBEDDED_METHODS = [
237
237
  stainlessPath: '(resource) links.bulk > (method) create',
238
238
  qualified: 'client.links.bulk.create',
239
239
  params: [
240
- "body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[];",
240
+ "body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[];",
241
241
  ],
242
- response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; } | { code: string; error: string; link?: object; }[]",
243
- markdown: "## create\n\n`client.links.bulk.create(body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[]): object | { code: string; error: string; link?: object; }[]`\n\n**post** `/links/bulk`\n\nBulk create up to 100 links for the authenticated workspace.\n\n### Parameters\n\n- `body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[]`\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; } | { code: string; error: string; link?: object; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst bulks = await client.links.bulk.create();\n\nconsole.log(bulks);\n```",
242
+ response: "{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; } | { code: string; error: string; link?: object; }[]",
243
+ markdown: "## create\n\n`client.links.bulk.create(body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[]): object | { code: string; error: string; link?: object; }[]`\n\n**post** `/links/bulk`\n\nBulk create up to 100 links for the authenticated workspace.\n\n### Parameters\n\n- `body?: { url: string; android?: string; archived?: boolean; comments?: string; description?: string; doIndex?: boolean; domain?: string; expiredUrl?: string; expiresAt?: string; externalId?: string; flexible?: boolean; folderId?: string; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; pageId?: string; pageUrl?: string; password?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; title?: string; trackConversion?: boolean; useAsTemplate?: boolean; video?: string; webhookIds?: string[]; }[]`\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; clicks: number; comments: string; createdAt: string; description: string; doIndex: boolean; domain: string; expiredUrl: string; expiresAt: string; externalId: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; trackConversion: boolean; updatedAt: string; url: string; useAsTemplate: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; pageId?: string; pageUrl?: string; qrCode?: string; shortLink?: string; } | { code: string; error: string; link?: object; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst bulks = await client.links.bulk.create();\n\nconsole.log(bulks);\n```",
244
244
  perLanguage: {
245
245
  typescript: {
246
246
  method: 'client.links.bulk.create',
247
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst bulks = await client.links.bulk.create();\n\nconsole.log(bulks);",
247
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst bulks = await client.links.bulk.create();\n\nconsole.log(bulks);",
248
248
  },
249
249
  http: {
250
250
  example: 'curl https://api.codeqr.io/links/bulk \\\n -X POST \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -265,8 +265,7 @@ const EMBEDDED_METHODS = [
265
265
  'archived?: boolean;',
266
266
  'bgColor?: string;',
267
267
  'comments?: string;',
268
- 'contentStatic?: string;',
269
- 'crypto?: object;',
268
+ "crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; };",
270
269
  'description?: string;',
271
270
  'doIndex?: boolean;',
272
271
  'domain?: string;',
@@ -299,12 +298,13 @@ const EMBEDDED_METHODS = [
299
298
  'password?: string;',
300
299
  'pattern?: string;',
301
300
  'phone?: string;',
301
+ 'pix?: object;',
302
302
  'prefix?: string;',
303
303
  'preRedirection?: boolean;',
304
304
  'proxy?: boolean;',
305
305
  'publicStats?: boolean;',
306
306
  'rewrite?: boolean;',
307
- "rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[];",
307
+ "rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[];",
308
308
  'shape?: string;',
309
309
  'showLogo?: boolean;',
310
310
  'size?: number;',
@@ -322,20 +322,21 @@ const EMBEDDED_METHODS = [
322
322
  'useAsTemplate?: boolean;',
323
323
  'useDisplayPage?: boolean;',
324
324
  'vcard?: object;',
325
+ 'walletPass?: { barcodeText?: string; logo?: string; name?: string; };',
325
326
  'webhookIds?: string[];',
326
327
  'whatsapp?: { number: string; message?: string; };',
327
328
  'width?: number;',
328
329
  'wifi?: object;',
329
330
  ],
330
331
  response: 'object',
331
- markdown: "## create\n\n`client.qrcodes.create(type: string, android?: string, archived?: boolean, bgColor?: string, comments?: string, contentStatic?: string, crypto?: object, description?: string, doIndex?: boolean, domain?: string, email?: object, excavate?: boolean, expiredUrl?: string, expiresAt?: string, externalId?: string, facetime?: object, fgColor?: string, filled?: boolean, flexible?: boolean, folderId?: string, frame?: string, frameColor?: string, frameText?: string, frameTextColor?: string, frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, height?: number, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, latlog?: object, level?: string, logo?: string, pageId?: string, pageUrl?: string, password?: string, pattern?: string, phone?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[], shape?: string, showLogo?: boolean, size?: number, sms?: object, src?: string, static?: boolean, tagId?: string, tagIds?: string | string[], tagNames?: string | string[], templateId?: string, text?: string, title?: string, trackConversion?: boolean, url?: string, useAsTemplate?: boolean, useDisplayPage?: boolean, vcard?: object, webhookIds?: string[], whatsapp?: { number: string; message?: string; }, width?: number, wifi?: object): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**post** `/qrcodes`\n\nCreate a new QR Code for the authenticated workspace.\n\n### Parameters\n\n- `type: string`\n The type of content of the QR code.\n\n- `android?: string`\n The destination URL for Android for the QR code for device targeting Android.\n\n- `archived?: boolean`\n If the QR code is archived.\n\n- `bgColor?: string`\n The background color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `comments?: string`\n The comments for the QR code.\n\n- `contentStatic?: string`\n The static content of the QR code.\n\n- `crypto?: object`\n The cryptocurrency information of the QR code.\n\n- `description?: string`\n The description of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your QR code. The default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the QR code. If not provided, the main domain of the project will be used (or `codeqr.link` if the project does not have domains).\n\n- `email?: object`\n The email information of the QR code.\n\n- `excavate?: boolean`\n If the QR code should have excavated areas.\n\n- `expiredUrl?: string`\n The URL to redirect when the QR code expires.\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. If defined, it can be used to identify the QR code in the future. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `facetime?: object`\n The FaceTime information of the QR code.\n\n- `fgColor?: string`\n The foreground color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `filled?: boolean`\n If the QR code is filled.\n\n- `flexible?: boolean`\n If the QR code is flexible.\n\n- `folderId?: string`\n The unique ID of the folder assigned to the QR code. Omit or set to null for no folder.\n\n- `frame?: string`\n The type of frame of the QR code (e.g. none, frame-1, frame-2, frame-3, frame-5, frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at render.\n\n- `frameColor?: string`\n The color of the frame (hex or CSS keyword). Invalid values are coerced to default.\n\n- `frameText?: string`\n Label text rendered inside the frame (e.g. \"SCAN ME\", a product SKU). Maximum 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar grows vertically to fit.\n\n- `frameTextColor?: string`\n Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS keyword from the allowlist). When omitted, a contrasting color is derived automatically from `frameColor`.\n\n- `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n Typographic styles applied to the frame label text. Every key is enum-gated — unknown keys or out-of-enum values are rejected to prevent SVG attribute injection. All fields are optional; omitted keys fall back to the default (normal weight, normal style, sans family, medium size).\n - `family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'`\n Font family used for the frame label text. `sans` = Arial / Helvetica (default). `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman. `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values resolve to safe system font stacks on the rendered SVG.\n - `size?: 's' | 'm' | 'l' | 'xl'`\n Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1 (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).\n - `style?: 'normal' | 'italic'`\n Font style of the frame label text. `italic` applies `font-style=\"italic\"`.\n - `weight?: 'normal' | 'bold'`\n Font weight of the frame label text. `bold` renders at SVG `font-weight=\"700\"`, `normal` at `400`.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the QR code in the JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `height?: number`\n Logo height in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `image?: string`\n The image of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The destination URL for iOS for the QR code for device targeting iOS.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the QR code. If not provided, a random slug of 7 characters will be generated.\n\n- `latlog?: object`\n The latitude and longitude information of the QR code.\n\n- `level?: string`\n The level of error correction of the QR code.\n\n- `logo?: string`\n The logo of the QR code.\n\n- `pageId?: string`\n The ID of the page to redirect to before the QR code destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the QR code destination.\n\n- `password?: string`\n The password required to access the destination URL of the QR code.\n\n- `pattern?: string`\n The pattern of the modules of the QR code.\n\n- `phone?: string`\n The phone number of the QR code.\n\n- `prefix?: string`\n The prefix for the randomly generated key. If provided, the key will be prefixed with this value.\n\n- `preRedirection?: boolean`\n If the QR code has pre-redirection.\n\n- `proxy?: boolean`\n If the QR code uses the custom link preview feature.\n\n- `publicStats?: boolean`\n If the statistics of the QR code are publicly accessible.\n\n- `rewrite?: boolean`\n If the QR code uses link cloaking.\n\n- `rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `shape?: string`\n The shape of the design around the QR code (none, square, circle).\n\n- `showLogo?: boolean`\n If the logo should be displayed in the QR code.\n\n- `size?: number`\n The size of the QR code.\n\n- `sms?: object`\n The SMS information of the QR code.\n\n- `src?: string`\n The image URL of the QR code.\n\n- `static?: boolean`\n If the QR code is static.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the QR code. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the QR code.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive).\n\n- `templateId?: string`\n ID of a QR code (in the same project) marked as a template. Its customization fields (colors, logo, pattern, shape, frame) will be applied to the new QR code unless explicitly overridden.\n\n- `text?: string`\n The text of the QR code.\n\n- `title?: string`\n The title of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n If should track conversions for the QR code.\n\n- `url?: string`\n The destination URL of the QR code.\n\n- `useAsTemplate?: boolean`\n Whether this QR code should be used as a reusable template.\n\n- `useDisplayPage?: boolean`\n For dynamic QR codes with phone, email, or sms types: if true (default), shows an action page with buttons. If false, redirects directly to tel:/mailto:/sms: URI.\n\n- `vcard?: object`\n The vCard information of the QR code.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n- `whatsapp?: { number: string; message?: string; }`\n The WhatsApp click-to-chat info: E.164 number (digits only) and optional prefilled message.\n - `number: string`\n - `message?: string`\n\n- `width?: number`\n Logo width in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `wifi?: object`\n The WiFi information of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `notificationToken: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst qrCode = await client.qrcodes.create({ type: 'url' });\n\nconsole.log(qrCode);\n```",
332
+ markdown: "## create\n\n`client.qrcodes.create(type: string, android?: string, archived?: boolean, bgColor?: string, comments?: string, crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }, description?: string, doIndex?: boolean, domain?: string, email?: object, excavate?: boolean, expiredUrl?: string, expiresAt?: string, externalId?: string, facetime?: object, fgColor?: string, filled?: boolean, flexible?: boolean, folderId?: string, frame?: string, frameColor?: string, frameText?: string, frameTextColor?: string, frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, height?: number, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, latlog?: object, level?: string, logo?: string, pageId?: string, pageUrl?: string, password?: string, pattern?: string, phone?: string, pix?: object, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[], shape?: string, showLogo?: boolean, size?: number, sms?: object, src?: string, static?: boolean, tagId?: string, tagIds?: string | string[], tagNames?: string | string[], templateId?: string, text?: string, title?: string, trackConversion?: boolean, url?: string, useAsTemplate?: boolean, useDisplayPage?: boolean, vcard?: object, walletPass?: { barcodeText?: string; logo?: string; name?: string; }, webhookIds?: string[], whatsapp?: { number: string; message?: string; }, width?: number, wifi?: object): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**post** `/qrcodes`\n\nCreate a new QR Code for the authenticated workspace.\n\n### Parameters\n\n- `type: string`\n The type of content of the QR code.\n\n- `android?: string`\n The destination URL for Android for the QR code for device targeting Android.\n\n- `archived?: boolean`\n If the QR code is archived. Archiving hides it from the default dashboard listing; the code keeps redirecting and keeps counting scans.\n\n- `bgColor?: string`\n The background color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `comments?: string`\n The comments for the QR code.\n\n- `crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }`\n The cryptocurrency information of the QR code.\n - `address?: string`\n The wallet address, as the display page reads it.\n - `amount?: string`\n - `cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'`\n - `email?: string`\n The wallet address.\n - `message?: string`\n\n- `description?: string`\n The description of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your QR code. The default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the QR code. If not provided, the main domain of the project will be used (or `codeqr.link` if the project does not have domains).\n\n- `email?: object`\n The email information of the QR code.\n\n- `excavate?: boolean`\n If the QR code should have excavated areas.\n\n- `expiredUrl?: string`\n The URL to redirect when the QR code expires.\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. If defined, it can be used to identify the QR code in the future. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `facetime?: object`\n The FaceTime information of the QR code.\n\n- `fgColor?: string`\n The foreground color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `filled?: boolean`\n If the QR code is filled.\n\n- `flexible?: boolean`\n If the QR code is flexible.\n\n- `folderId?: string`\n The unique ID of the folder assigned to the QR code. Omit or set to null for no folder.\n\n- `frame?: string`\n The type of frame of the QR code (e.g. none, frame-1, frame-2, frame-3, frame-5, frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at render.\n\n- `frameColor?: string`\n The color of the frame (hex or CSS keyword). Invalid values are coerced to default.\n\n- `frameText?: string`\n Label text rendered inside the frame (e.g. \"SCAN ME\", a product SKU). Maximum 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar grows vertically to fit.\n\n- `frameTextColor?: string`\n Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS keyword from the allowlist). When omitted, a contrasting color is derived automatically from `frameColor`.\n\n- `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n Typographic styles applied to the frame label text. Every key is enum-gated — unknown keys or out-of-enum values are rejected to prevent SVG attribute injection. All fields are optional; omitted keys fall back to the default (normal weight, normal style, sans family, medium size).\n - `family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'`\n Font family used for the frame label text. `sans` = Arial / Helvetica (default). `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman. `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values resolve to safe system font stacks on the rendered SVG.\n - `size?: 's' | 'm' | 'l' | 'xl'`\n Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1 (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).\n - `style?: 'normal' | 'italic'`\n Font style of the frame label text. `italic` applies `font-style=\"italic\"`.\n - `weight?: 'normal' | 'bold'`\n Font weight of the frame label text. `bold` renders at SVG `font-weight=\"700\"`, `normal` at `400`.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the QR code in the JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `height?: number`\n Logo height in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `image?: string`\n The image of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The destination URL for iOS for the QR code for device targeting iOS.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the QR code. If not provided, a random slug of 7 characters will be generated.\n\n- `latlog?: object`\n The latitude and longitude information of the QR code.\n\n- `level?: string`\n The level of error correction of the QR code.\n\n- `logo?: string`\n [DEPRECATED (use `src` instead)]: Not read by any renderer. Set `src` to an image uploaded via `POST /qrcodes/logo`.\n\n- `pageId?: string`\n The ID of the page to redirect to before the QR code destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the QR code destination.\n\n- `password?: string`\n The password required to access the destination URL of the QR code.\n\n- `pattern?: string`\n The pattern of the modules of the QR code.\n\n- `phone?: string`\n The phone number of the QR code.\n\n- `pix?: object`\n The Pix information of the QR code (key, name, city, amount, description).\n\n- `prefix?: string`\n The prefix for the randomly generated key. If provided, the key will be prefixed with this value.\n\n- `preRedirection?: boolean`\n If the QR code has pre-redirection.\n\n- `proxy?: boolean`\n If the QR code uses the custom link preview feature.\n\n- `publicStats?: boolean`\n If the statistics of the QR code are publicly accessible.\n\n- `rewrite?: boolean`\n If the QR code uses link cloaking.\n\n- `rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `shape?: string`\n The shape of the design around the QR code (none, square, circle).\n\n- `showLogo?: boolean`\n If the logo should be displayed in the QR code.\n\n- `size?: number`\n The size of the QR code.\n\n- `sms?: object`\n The SMS information of the QR code.\n\n- `src?: string`\n The image URL of the QR code.\n\n- `static?: boolean`\n If the QR code is static.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the QR code. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the QR code.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive). Ignored when `tagIds` is also present.\n\n- `templateId?: string`\n ID of a QR code (in the same project) marked as a template. Its customization fields (colors, logo, pattern, shape, frame) will be applied to the new QR code unless explicitly overridden.\n\n- `text?: string`\n The text of the QR code.\n\n- `title?: string`\n The title of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n If should track conversions for the QR code.\n\n- `url?: string`\n The destination URL of the QR code.\n\n- `useAsTemplate?: boolean`\n Whether this QR code should be used as a reusable template.\n\n- `useDisplayPage?: boolean`\n Kept for compatibility. A dynamic phone, email or SMS code is always served the display page, whose buttons open the dialler, the mail client or the SMS app; setting this to false changes nothing about what a scan gets.\n\n- `vcard?: object`\n The vCard information of the QR code.\n\n- `walletPass?: { barcodeText?: string; logo?: string; name?: string; }`\n Customizes the Google Wallet and Apple Wallet passes saved from this QR code. `name` and `logo` replace the workspace name and logo; left out (or `null`), the pass shows the workspace value. `barcodeText` sets the text under the QR code. On update: omit `walletPass` to keep the stored value, send `null` to clear it, or send an object to replace the stored one as a whole — fields missing from the object are cleared, not merged. Available on the Business plan and above, outside a trial: elsewhere a new value is refused with `403 forbidden` (`null` is always accepted) and a stored value is ignored, so the passes show the workspace name and logo.\n - `barcodeText?: string`\n The text shown under the QR code on the pass, such as the member's name or card number. The QR code's title is never shown there. Trimmed; 1 to 40 characters.\n - `logo?: string`\n The logo shown on the pass, in place of the workspace logo. Either the URL of an image uploaded via `POST /qrcodes/logo`, or any https URL serving a PNG, JPEG or WebP image of up to 2 MB without a redirect. An external image is copied to CodeQR storage when the QR code is written, and the response returns the URL of the copy, not the URL sent.\n - `name?: string`\n The name shown at the top of the pass, in place of the workspace name. Trimmed; 1 to 64 characters.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n- `whatsapp?: { number: string; message?: string; }`\n The WhatsApp click-to-chat info: E.164 number (digits only) and optional prefilled message.\n - `number: string`\n - `message?: string`\n\n- `width?: number`\n Logo width in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `wifi?: object`\n The WiFi information of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: { barcodeText?: string; logo?: string; name?: string; }; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `walletPass: { barcodeText?: string; logo?: string; name?: string; }`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst qrCode = await client.qrcodes.create({ type: 'url' });\n\nconsole.log(qrCode);\n```",
332
333
  perLanguage: {
333
334
  typescript: {
334
335
  method: 'client.qrcodes.create',
335
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.create({ type: 'url' });\n\nconsole.log(qrCode.id);",
336
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.create({ type: 'url' });\n\nconsole.log(qrCode.id);",
336
337
  },
337
338
  http: {
338
- example: 'curl https://api.codeqr.io/qrcodes \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "type": "url",\n "externalId": "123456",\n "frameText": "SKU-LH905461",\n "frameTextColor": "#ffffff",\n "frameTextStyles": {\n "family": "sans",\n "size": "xl",\n "weight": "bold"\n },\n "tagIds": [\n "clux0rgak00011..."\n ]\n }\'',
339
+ example: 'curl https://api.codeqr.io/qrcodes \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "type": "url",\n "externalId": "123456",\n "frameText": "SKU-LH905461",\n "frameTextColor": "#ffffff",\n "frameTextStyles": {\n "family": "sans",\n "size": "xl",\n "weight": "bold"\n },\n "tagIds": [\n "clux0rgak00011..."\n ],\n "walletPass": {\n "barcodeText": "Member 0042",\n "name": "Central Bakery"\n }\n }\'',
339
340
  },
340
341
  },
341
342
  },
@@ -389,11 +390,11 @@ const EMBEDDED_METHODS = [
389
390
  'withTags?: boolean;',
390
391
  ],
391
392
  response: 'object[]',
392
- markdown: "## list\n\n`client.qrcodes.list(comments?: string, createdAfter?: string, createdBefore?: string, domain?: string, expiresAfter?: string, expiresAt?: string, expiresBefore?: string, folderId?: string, format?: 'static' | 'dynamic', hasComments?: boolean, hasCustomSocial?: boolean, hasDevice?: boolean, hasExpiration?: boolean, hasGeo?: boolean, hasPassword?: boolean, hasTags?: boolean, hasUTM?: boolean, page?: number, pageSize?: number, password?: string, projectSlug?: string, scansMax?: number, scansMin?: number, search?: string, showArchived?: boolean, sort?: 'createdAt' | 'scans' | 'lastClicked', tagId?: string, tagIds?: string | string[], tagNames?: string | string[], trackConversion?: boolean, type?: string, useAsTemplate?: boolean, userId?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string, withTags?: boolean): object[]`\n\n**get** `/qrcodes`\n\nRetrieve a paginated list of QR Codes for the authenticated workspace.\n\n### Parameters\n\n- `comments?: string`\n The comments to filter by.\n\n- `createdAfter?: string`\n Filter QR codes created after this date\n\n- `createdBefore?: string`\n Filter QR codes created before this date\n\n- `domain?: string`\n The domain to filter the QR codes. For example, `ac.me`. If not provided, all QR codes of the project will be returned.\n\n- `expiresAfter?: string`\n Filter QR codes expiring after this date\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `expiresBefore?: string`\n Filter QR codes expiring before this date\n\n- `folderId?: string`\n The folder ID to filter the QR codes by.\n\n- `format?: 'static' | 'dynamic'`\n Filter by QR code format - static or dynamic\n\n- `hasComments?: boolean`\n Filter QR codes with/without comments\n\n- `hasCustomSocial?: boolean`\n Filter QR codes with/without custom social media cards\n\n- `hasDevice?: boolean`\n Filter QR codes with/without device targeting\n\n- `hasExpiration?: boolean`\n Filter QR codes with/without expiration date\n\n- `hasGeo?: boolean`\n Filter QR codes with/without geo-targeting\n\n- `hasPassword?: boolean`\n Filter QR codes with/without password protection\n\n- `hasTags?: boolean`\n Filter QR codes with/without tags\n\n- `hasUTM?: boolean`\n Filter QR codes with/without UTM parameters\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `password?: string`\n The password to filter by.\n\n- `projectSlug?: string`\n The slug of the project to which the QR code belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `scansMax?: number`\n Maximum number of scans\n\n- `scansMin?: number`\n Minimum number of scans\n\n- `search?: string`\n The search term to filter the QR codes. The search term will be matched against the QR code slug, title, and the destination URL.\n\n- `showArchived?: boolean`\n If should include archived QR codes in the response. The default is `false` if not provided.\n\n- `sort?: 'createdAt' | 'scans' | 'lastClicked'`\n The field to order the QR codes. The default is `createdAt`, and the order of sorting is always descending.\n\n- `tagId?: string`\n [DEPRECATED (use tagIds instead)]: The unique ID of the tag assigned to the QR code.\n\n- `tagIds?: string | string[]`\n The IDs of the tags to filter the QR codes.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive).\n\n- `trackConversion?: boolean`\n If should include QR codes with conversion tracking enabled. The default is `false` if not provided.\n\n- `type?: string`\n Filter by QR code type\n\n- `useAsTemplate?: boolean`\n Filter QR codes marked as templates.\n\n- `userId?: string`\n The ID of the user to filter by.\n\n- `utm_campaign?: string`\n Filter by UTM campaign value\n\n- `utm_content?: string`\n Filter by UTM content value\n\n- `utm_medium?: string`\n Filter by UTM medium value\n\n- `utm_source?: string`\n Filter by UTM source value\n\n- `utm_term?: string`\n Filter by UTM term value\n\n- `withTags?: boolean`\n If should include tags in the response. The default is `false` if not provided.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: object[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst qrCodes = await client.qrcodes.list();\n\nconsole.log(qrCodes);\n```",
393
+ markdown: "## list\n\n`client.qrcodes.list(comments?: string, createdAfter?: string, createdBefore?: string, domain?: string, expiresAfter?: string, expiresAt?: string, expiresBefore?: string, folderId?: string, format?: 'static' | 'dynamic', hasComments?: boolean, hasCustomSocial?: boolean, hasDevice?: boolean, hasExpiration?: boolean, hasGeo?: boolean, hasPassword?: boolean, hasTags?: boolean, hasUTM?: boolean, page?: number, pageSize?: number, password?: string, projectSlug?: string, scansMax?: number, scansMin?: number, search?: string, showArchived?: boolean, sort?: 'createdAt' | 'scans' | 'lastClicked', tagId?: string, tagIds?: string | string[], tagNames?: string | string[], trackConversion?: boolean, type?: string, useAsTemplate?: boolean, userId?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string, withTags?: boolean): object[]`\n\n**get** `/qrcodes`\n\nRetrieve a paginated list of QR Codes for the authenticated workspace.\n\n### Parameters\n\n- `comments?: string`\n The comments to filter by.\n\n- `createdAfter?: string`\n Filter QR codes created after this date\n\n- `createdBefore?: string`\n Filter QR codes created before this date\n\n- `domain?: string`\n The domain to filter the QR codes. For example, `ac.me`. If not provided, all QR codes of the project will be returned.\n\n- `expiresAfter?: string`\n Filter QR codes expiring after this date\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `expiresBefore?: string`\n Filter QR codes expiring before this date\n\n- `folderId?: string`\n The folder ID to filter the QR codes by.\n\n- `format?: 'static' | 'dynamic'`\n Filter by QR code format - static or dynamic\n\n- `hasComments?: boolean`\n Filter QR codes with/without comments\n\n- `hasCustomSocial?: boolean`\n Filter QR codes with/without custom social media cards\n\n- `hasDevice?: boolean`\n Filter QR codes with/without device targeting\n\n- `hasExpiration?: boolean`\n Filter QR codes with/without expiration date\n\n- `hasGeo?: boolean`\n Filter QR codes with/without geo-targeting\n\n- `hasPassword?: boolean`\n Filter QR codes with/without password protection\n\n- `hasTags?: boolean`\n Filter QR codes with/without tags\n\n- `hasUTM?: boolean`\n Filter QR codes with/without UTM parameters\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `password?: string`\n The password to filter by.\n\n- `projectSlug?: string`\n The slug of the project to which the QR code belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `scansMax?: number`\n Maximum number of scans\n\n- `scansMin?: number`\n Minimum number of scans\n\n- `search?: string`\n The search term to filter the QR codes. The search term will be matched against the QR code slug, title, and the destination URL.\n\n- `showArchived?: boolean`\n If should include archived QR codes in the response. The default is `false` if not provided.\n\n- `sort?: 'createdAt' | 'scans' | 'lastClicked'`\n The field to order the QR codes. The default is `createdAt`, and the order of sorting is always descending.\n\n- `tagId?: string`\n [DEPRECATED (use tagIds instead)]: The unique ID of the tag assigned to the QR code.\n\n- `tagIds?: string | string[]`\n The IDs of the tags to filter the QR codes.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive).\n\n- `trackConversion?: boolean`\n If should include QR codes with conversion tracking enabled. The default is `false` if not provided.\n\n- `type?: string`\n Filter by QR code type\n\n- `useAsTemplate?: boolean`\n Filter QR codes marked as templates.\n\n- `userId?: string`\n The ID of the user to filter by.\n\n- `utm_campaign?: string`\n Filter by UTM campaign value\n\n- `utm_content?: string`\n Filter by UTM content value\n\n- `utm_medium?: string`\n Filter by UTM medium value\n\n- `utm_source?: string`\n Filter by UTM source value\n\n- `utm_term?: string`\n Filter by UTM term value\n\n- `withTags?: boolean`\n If should include tags in the response. The default is `false` if not provided.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: object[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: { barcodeText?: string; logo?: string; name?: string; }; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst qrCodes = await client.qrcodes.list();\n\nconsole.log(qrCodes);\n```",
393
394
  perLanguage: {
394
395
  typescript: {
395
396
  method: 'client.qrcodes.list',
396
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCodes = await client.qrcodes.list();\n\nconsole.log(qrCodes);",
397
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCodes = await client.qrcodes.list();\n\nconsole.log(qrCodes);",
397
398
  },
398
399
  http: {
399
400
  example: 'curl https://api.codeqr.io/qrcodes \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -416,11 +417,11 @@ const EMBEDDED_METHODS = [
416
417
  'qrCodeId?: string;',
417
418
  ],
418
419
  response: 'object',
419
- markdown: "## retrieve\n\n`client.qrcodes.retrieve(domain: string, key: string, projectSlug: string, externalId?: string, qrCodeId?: string): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**get** `/qrcodes/info`\n\nRetrieve the info for a QR Code.\n\n### Parameters\n\n- `domain: string`\n The domain of the QR code to be retrieved. For example, for `codeqr.link/github`, the domain is `codeqr.link`.\n\n- `key: string`\n The key of the QR code to be retrieved. For example, for `codeqr.link/github`, the key is `github`.\n\n- `projectSlug: string`\n The slug of the project to which the QR code belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `qrCodeId?: string`\n The unique ID of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `notificationToken: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst qrCode = await client.qrcodes.retrieve({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(qrCode);\n```",
420
+ markdown: "## retrieve\n\n`client.qrcodes.retrieve(domain: string, key: string, projectSlug: string, externalId?: string, qrCodeId?: string): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**get** `/qrcodes/info`\n\nRetrieve the info for a QR Code.\n\n### Parameters\n\n- `domain: string`\n The domain of the QR code to be retrieved. For example, for `codeqr.link/github`, the domain is `codeqr.link`.\n\n- `key: string`\n The key of the QR code to be retrieved. For example, for `codeqr.link/github`, the key is `github`.\n\n- `projectSlug: string`\n The slug of the project to which the QR code belongs. For example, for `app.codeqr.io/acme`, the projectSlug is `acme`.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `qrCodeId?: string`\n The unique ID of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: { barcodeText?: string; logo?: string; name?: string; }; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `walletPass: { barcodeText?: string; logo?: string; name?: string; }`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst qrCode = await client.qrcodes.retrieve({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(qrCode);\n```",
420
421
  perLanguage: {
421
422
  typescript: {
422
423
  method: 'client.qrcodes.retrieve',
423
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.retrieve({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(qrCode.id);",
424
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.retrieve({\n domain: 'x',\n key: 'x',\n projectSlug: 'x',\n});\n\nconsole.log(qrCode.id);",
424
425
  },
425
426
  http: {
426
427
  example: 'curl https://api.codeqr.io/qrcodes/info \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -441,8 +442,7 @@ const EMBEDDED_METHODS = [
441
442
  'archived?: boolean;',
442
443
  'bgColor?: string;',
443
444
  'comments?: string;',
444
- 'contentStatic?: string;',
445
- 'crypto?: object;',
445
+ "crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; };",
446
446
  'description?: string;',
447
447
  'doIndex?: boolean;',
448
448
  'domain?: string;',
@@ -475,12 +475,13 @@ const EMBEDDED_METHODS = [
475
475
  'password?: string;',
476
476
  'pattern?: string;',
477
477
  'phone?: string;',
478
+ 'pix?: object;',
478
479
  'prefix?: string;',
479
480
  'preRedirection?: boolean;',
480
481
  'proxy?: boolean;',
481
482
  'publicStats?: boolean;',
482
483
  'rewrite?: boolean;',
483
- "rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[];",
484
+ "rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[];",
484
485
  'shape?: string;',
485
486
  'showLogo?: boolean;',
486
487
  'size?: number;',
@@ -498,18 +499,24 @@ const EMBEDDED_METHODS = [
498
499
  'url?: string;',
499
500
  'useAsTemplate?: boolean;',
500
501
  'useDisplayPage?: boolean;',
502
+ 'utm_campaign?: string;',
503
+ 'utm_content?: string;',
504
+ 'utm_medium?: string;',
505
+ 'utm_source?: string;',
506
+ 'utm_term?: string;',
501
507
  'vcard?: object;',
508
+ 'walletPass?: { barcodeText?: string; logo?: string; name?: string; };',
502
509
  'webhookIds?: string[];',
503
510
  'whatsapp?: { number: string; message?: string; };',
504
511
  'width?: number;',
505
512
  'wifi?: object;',
506
513
  ],
507
514
  response: 'object',
508
- markdown: "## update\n\n`client.qrcodes.update(qrcodeId: string, android?: string, archived?: boolean, bgColor?: string, comments?: string, contentStatic?: string, crypto?: object, description?: string, doIndex?: boolean, domain?: string, email?: object, excavate?: boolean, expiredUrl?: string, expiresAt?: string, externalId?: string, facetime?: object, fgColor?: string, filled?: boolean, flexible?: boolean, folderId?: string, frame?: string, frameColor?: string, frameText?: string, frameTextColor?: string, frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, height?: number, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, latlog?: object, level?: string, logo?: string, pageId?: string, pageUrl?: string, password?: string, pattern?: string, phone?: string, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[], shape?: string, showLogo?: boolean, size?: number, sms?: object, src?: string, static?: boolean, tagId?: string, tagIds?: string | string[], tagNames?: string | string[], templateId?: string, text?: string, title?: string, trackConversion?: boolean, type?: string, url?: string, useAsTemplate?: boolean, useDisplayPage?: boolean, vcard?: object, webhookIds?: string[], whatsapp?: { number: string; message?: string; }, width?: number, wifi?: object): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**put** `/qrcodes/{qrcodeId}`\n\nUpdate a QR Code for the authenticated workspace. If there's no change, returns it as it is.\n\n### Parameters\n\n- `qrcodeId: string`\n The id of the QR Code to update. You may use either `qrcodeId` (obtained via `/qrcodes/info` endpoint) or `externalId` prefixed with `ext_`.\n\n- `android?: string`\n The destination URL for Android for the QR code for device targeting Android.\n\n- `archived?: boolean`\n If the QR code is archived.\n\n- `bgColor?: string`\n The background color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `comments?: string`\n The comments for the QR code.\n\n- `contentStatic?: string`\n The static content of the QR code.\n\n- `crypto?: object`\n The cryptocurrency information of the QR code.\n\n- `description?: string`\n The description of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your QR code. The default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the QR code. If not provided, the main domain of the project will be used (or `codeqr.link` if the project does not have domains).\n\n- `email?: object`\n The email information of the QR code.\n\n- `excavate?: boolean`\n If the QR code should have excavated areas.\n\n- `expiredUrl?: string`\n The URL to redirect when the QR code expires.\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. If defined, it can be used to identify the QR code in the future. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `facetime?: object`\n The FaceTime information of the QR code.\n\n- `fgColor?: string`\n The foreground color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `filled?: boolean`\n If the QR code is filled.\n\n- `flexible?: boolean`\n If the QR code is flexible.\n\n- `folderId?: string`\n The unique ID of the folder assigned to the QR code. Omit or set to null for no folder.\n\n- `frame?: string`\n The type of frame of the QR code (e.g. none, frame-1, frame-2, frame-3, frame-5, frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at render.\n\n- `frameColor?: string`\n The color of the frame (hex or CSS keyword). Invalid values are coerced to default.\n\n- `frameText?: string`\n Label text rendered inside the frame (e.g. \"SCAN ME\", a product SKU). Maximum 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar grows vertically to fit.\n\n- `frameTextColor?: string`\n Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS keyword from the allowlist). When omitted, a contrasting color is derived automatically from `frameColor`.\n\n- `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n Typographic styles applied to the frame label text. Every key is enum-gated — unknown keys or out-of-enum values are rejected to prevent SVG attribute injection. All fields are optional; omitted keys fall back to the default (normal weight, normal style, sans family, medium size).\n - `family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'`\n Font family used for the frame label text. `sans` = Arial / Helvetica (default). `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman. `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values resolve to safe system font stacks on the rendered SVG.\n - `size?: 's' | 'm' | 'l' | 'xl'`\n Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1 (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).\n - `style?: 'normal' | 'italic'`\n Font style of the frame label text. `italic` applies `font-style=\"italic\"`.\n - `weight?: 'normal' | 'bold'`\n Font weight of the frame label text. `bold` renders at SVG `font-weight=\"700\"`, `normal` at `400`.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the QR code in the JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `height?: number`\n Logo height in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `image?: string`\n The image of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The destination URL for iOS for the QR code for device targeting iOS.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the QR code. If not provided, a random slug of 7 characters will be generated.\n\n- `latlog?: object`\n The latitude and longitude information of the QR code.\n\n- `level?: string`\n The level of error correction of the QR code.\n\n- `logo?: string`\n The logo of the QR code.\n\n- `pageId?: string`\n The ID of the page to redirect to before the QR code destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the QR code destination.\n\n- `password?: string`\n The password required to access the destination URL of the QR code.\n\n- `pattern?: string`\n The pattern of the modules of the QR code.\n\n- `phone?: string`\n The phone number of the QR code.\n\n- `prefix?: string`\n The prefix for the randomly generated key. If provided, the key will be prefixed with this value.\n\n- `preRedirection?: boolean`\n If the QR code has pre-redirection.\n\n- `proxy?: boolean`\n If the QR code uses the custom link preview feature.\n\n- `publicStats?: boolean`\n If the statistics of the QR code are publicly accessible.\n\n- `rewrite?: boolean`\n If the QR code uses link cloaking.\n\n- `rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `shape?: string`\n The shape of the design around the QR code (none, square, circle).\n\n- `showLogo?: boolean`\n If the logo should be displayed in the QR code.\n\n- `size?: number`\n The size of the QR code.\n\n- `sms?: object`\n The SMS information of the QR code.\n\n- `src?: string`\n The image URL of the QR code.\n\n- `static?: boolean`\n If the QR code is static.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the QR code. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the QR code.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive).\n\n- `templateId?: string`\n ID of a QR code (in the same project) marked as a template. Its customization fields (colors, logo, pattern, shape, frame) will be applied to the new QR code unless explicitly overridden.\n\n- `text?: string`\n The text of the QR code.\n\n- `title?: string`\n The title of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n If should track conversions for the QR code.\n\n- `type?: string`\n The type of content of the QR code.\n\n- `url?: string`\n The destination URL of the QR code.\n\n- `useAsTemplate?: boolean`\n Whether this QR code should be used as a reusable template.\n\n- `useDisplayPage?: boolean`\n For dynamic QR codes with phone, email, or sms types: if true (default), shows an action page with buttons. If false, redirects directly to tel:/mailto:/sms: URI.\n\n- `vcard?: object`\n The vCard information of the QR code.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n- `whatsapp?: { number: string; message?: string; }`\n The WhatsApp click-to-chat info: E.164 number (digits only) and optional prefilled message.\n - `number: string`\n - `message?: string`\n\n- `width?: number`\n Logo width in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `wifi?: object`\n The WiFi information of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `notificationToken: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst qrCode = await client.qrcodes.update('qrcodeId');\n\nconsole.log(qrCode);\n```",
515
+ markdown: "## update\n\n`client.qrcodes.update(qrcodeId: string, android?: string, archived?: boolean, bgColor?: string, comments?: string, crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }, description?: string, doIndex?: boolean, domain?: string, email?: object, excavate?: boolean, expiredUrl?: string, expiresAt?: string, externalId?: string, facetime?: object, fgColor?: string, filled?: boolean, flexible?: boolean, folderId?: string, frame?: string, frameColor?: string, frameText?: string, frameTextColor?: string, frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }, geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }, height?: number, image?: string, ios?: string, isFormMandatory?: boolean, key?: string, latlog?: object, level?: string, logo?: string, pageId?: string, pageUrl?: string, password?: string, pattern?: string, phone?: string, pix?: object, prefix?: string, preRedirection?: boolean, proxy?: boolean, publicStats?: boolean, rewrite?: boolean, rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[], shape?: string, showLogo?: boolean, size?: number, sms?: object, src?: string, static?: boolean, tagId?: string, tagIds?: string | string[], tagNames?: string | string[], templateId?: string, text?: string, title?: string, trackConversion?: boolean, type?: string, url?: string, useAsTemplate?: boolean, useDisplayPage?: boolean, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string, vcard?: object, walletPass?: { barcodeText?: string; logo?: string; name?: string; }, webhookIds?: string[], whatsapp?: { number: string; message?: string; }, width?: number, wifi?: object): { id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: object[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: tag[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: object; whatsapp: object; width: number; wifi: object; frameTextStyles?: object; pageId?: string; pageUrl?: string; }`\n\n**put** `/qrcodes/{qrcodeId}`\n\nUpdate a QR Code for the authenticated workspace. If there's no change, returns it as it is.\n\n### Parameters\n\n- `qrcodeId: string`\n The id of the QR Code to update. You may use either `qrcodeId` (obtained via `/qrcodes/info` endpoint) or `externalId` prefixed with `ext_`.\n\n- `android?: string`\n The destination URL for Android for the QR code for device targeting Android.\n\n- `archived?: boolean`\n If the QR code is archived. Archiving hides it from the default dashboard listing; the code keeps redirecting and keeps counting scans.\n\n- `bgColor?: string`\n The background color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `comments?: string`\n The comments for the QR code.\n\n- `crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }`\n The cryptocurrency information of the QR code.\n - `address?: string`\n The wallet address, as the display page reads it.\n - `amount?: string`\n - `cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'`\n - `email?: string`\n The wallet address.\n - `message?: string`\n\n- `description?: string`\n The description of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `doIndex?: boolean`\n Allow search engines to index your QR code. The default is `false` if not provided. Learn more: https://codeqr.link/noindex\n\n- `domain?: string`\n The domain of the QR code. If not provided, the main domain of the project will be used (or `codeqr.link` if the project does not have domains).\n\n- `email?: object`\n The email information of the QR code.\n\n- `excavate?: boolean`\n If the QR code should have excavated areas.\n\n- `expiredUrl?: string`\n The URL to redirect when the QR code expires.\n\n- `expiresAt?: string`\n The date and time the QR code will expire in ISO-8601 format. Must be in the future.\n\n- `externalId?: string`\n This is the ID of the QR code in your database. If defined, it can be used to identify the QR code in the future. It must be prefixed with `ext_` when passed as a query parameter.\n\n- `facetime?: object`\n The FaceTime information of the QR code.\n\n- `fgColor?: string`\n The foreground color of the QR code (hex or CSS keyword). Invalid values are coerced to default.\n\n- `filled?: boolean`\n If the QR code is filled.\n\n- `flexible?: boolean`\n If the QR code is flexible.\n\n- `folderId?: string`\n The unique ID of the folder assigned to the QR code. Omit or set to null for no folder.\n\n- `frame?: string`\n The type of frame of the QR code (e.g. none, frame-1, frame-2, frame-3, frame-5, frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at render.\n\n- `frameColor?: string`\n The color of the frame (hex or CSS keyword). Invalid values are coerced to default.\n\n- `frameText?: string`\n Label text rendered inside the frame (e.g. \"SCAN ME\", a product SKU). Maximum 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar grows vertically to fit.\n\n- `frameTextColor?: string`\n Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS keyword from the allowlist). When omitted, a contrasting color is derived automatically from `frameColor`.\n\n- `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n Typographic styles applied to the frame label text. Every key is enum-gated — unknown keys or out-of-enum values are rejected to prevent SVG attribute injection. All fields are optional; omitted keys fall back to the default (normal weight, normal style, sans family, medium size).\n - `family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'`\n Font family used for the frame label text. `sans` = Arial / Helvetica (default). `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman. `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values resolve to safe system font stacks on the rendered SVG.\n - `size?: 's' | 'm' | 'l' | 'xl'`\n Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1 (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).\n - `style?: 'normal' | 'italic'`\n Font style of the frame label text. `italic` applies `font-style=\"italic\"`.\n - `weight?: 'normal' | 'bold'`\n Font weight of the frame label text. `bold` renders at SVG `font-weight=\"700\"`, `normal` at `400`.\n\n- `geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }`\n Geographic segmentation information for the QR code in the JSON format `{[COUNTRY]: https://example.com }`.\n - `AD?: string`\n - `AE?: string`\n - `AF?: string`\n - `AG?: string`\n - `AI?: string`\n - `AL?: string`\n - `AM?: string`\n - `AO?: string`\n - `AQ?: string`\n - `AR?: string`\n - `AS?: string`\n - `AT?: string`\n - `AU?: string`\n - `AW?: string`\n - `AX?: string`\n - `AZ?: string`\n - `BA?: string`\n - `BB?: string`\n - `BD?: string`\n - `BE?: string`\n - `BF?: string`\n - `BG?: string`\n - `BH?: string`\n - `BI?: string`\n - `BJ?: string`\n - `BL?: string`\n - `BM?: string`\n - `BN?: string`\n - `BO?: string`\n - `BQ?: string`\n - `BR?: string`\n - `BS?: string`\n - `BT?: string`\n - `BV?: string`\n - `BW?: string`\n - `BY?: string`\n - `BZ?: string`\n - `CA?: string`\n - `CC?: string`\n - `CD?: string`\n - `CF?: string`\n - `CG?: string`\n - `CH?: string`\n - `CI?: string`\n - `CK?: string`\n - `CL?: string`\n - `CM?: string`\n - `CN?: string`\n - `CO?: string`\n - `CR?: string`\n - `CU?: string`\n - `CV?: string`\n - `CW?: string`\n - `CX?: string`\n - `CY?: string`\n - `CZ?: string`\n - `DE?: string`\n - `DJ?: string`\n - `DK?: string`\n - `DM?: string`\n - `DO?: string`\n - `DZ?: string`\n - `EC?: string`\n - `EE?: string`\n - `EG?: string`\n - `EH?: string`\n - `ER?: string`\n - `ES?: string`\n - `ET?: string`\n - `FI?: string`\n - `FJ?: string`\n - `FK?: string`\n - `FM?: string`\n - `FO?: string`\n - `FR?: string`\n - `GA?: string`\n - `GB?: string`\n - `GD?: string`\n - `GE?: string`\n - `GF?: string`\n - `GG?: string`\n - `GH?: string`\n - `GI?: string`\n - `GL?: string`\n - `GM?: string`\n - `GN?: string`\n - `GP?: string`\n - `GQ?: string`\n - `GR?: string`\n - `GS?: string`\n - `GT?: string`\n - `GU?: string`\n - `GW?: string`\n - `GY?: string`\n - `HK?: string`\n - `HM?: string`\n - `HN?: string`\n - `HR?: string`\n - `HT?: string`\n - `HU?: string`\n - `ID?: string`\n - `IE?: string`\n - `IL?: string`\n - `IM?: string`\n - `IN?: string`\n - `IO?: string`\n - `IQ?: string`\n - `IR?: string`\n - `IS?: string`\n - `IT?: string`\n - `JE?: string`\n - `JM?: string`\n - `JO?: string`\n - `JP?: string`\n - `KE?: string`\n - `KG?: string`\n - `KH?: string`\n - `KI?: string`\n - `KM?: string`\n - `KN?: string`\n - `KP?: string`\n - `KR?: string`\n - `KW?: string`\n - `KY?: string`\n - `KZ?: string`\n - `LA?: string`\n - `LB?: string`\n - `LC?: string`\n - `LI?: string`\n - `LK?: string`\n - `LR?: string`\n - `LS?: string`\n - `LT?: string`\n - `LU?: string`\n - `LV?: string`\n - `LY?: string`\n - `MA?: string`\n - `MC?: string`\n - `MD?: string`\n - `ME?: string`\n - `MF?: string`\n - `MG?: string`\n - `MH?: string`\n - `MK?: string`\n - `ML?: string`\n - `MM?: string`\n - `MN?: string`\n - `MO?: string`\n - `MP?: string`\n - `MQ?: string`\n - `MR?: string`\n - `MS?: string`\n - `MT?: string`\n - `MU?: string`\n - `MV?: string`\n - `MW?: string`\n - `MX?: string`\n - `MY?: string`\n - `MZ?: string`\n - `NA?: string`\n - `NC?: string`\n - `NE?: string`\n - `NF?: string`\n - `NG?: string`\n - `NI?: string`\n - `NL?: string`\n - `NO?: string`\n - `NP?: string`\n - `NR?: string`\n - `NU?: string`\n - `NZ?: string`\n - `OM?: string`\n - `PA?: string`\n - `PE?: string`\n - `PF?: string`\n - `PG?: string`\n - `PH?: string`\n - `PK?: string`\n - `PL?: string`\n - `PM?: string`\n - `PN?: string`\n - `PR?: string`\n - `PS?: string`\n - `PT?: string`\n - `PW?: string`\n - `PY?: string`\n - `QA?: string`\n - `RE?: string`\n - `RO?: string`\n - `RS?: string`\n - `RU?: string`\n - `RW?: string`\n - `SA?: string`\n - `SB?: string`\n - `SC?: string`\n - `SD?: string`\n - `SE?: string`\n - `SG?: string`\n - `SH?: string`\n - `SI?: string`\n - `SJ?: string`\n - `SK?: string`\n - `SL?: string`\n - `SM?: string`\n - `SN?: string`\n - `SO?: string`\n - `SR?: string`\n - `SS?: string`\n - `ST?: string`\n - `SV?: string`\n - `SX?: string`\n - `SY?: string`\n - `SZ?: string`\n - `TC?: string`\n - `TD?: string`\n - `TF?: string`\n - `TG?: string`\n - `TH?: string`\n - `TJ?: string`\n - `TK?: string`\n - `TL?: string`\n - `TM?: string`\n - `TN?: string`\n - `TO?: string`\n - `TR?: string`\n - `TT?: string`\n - `TV?: string`\n - `TW?: string`\n - `TZ?: string`\n - `UA?: string`\n - `UG?: string`\n - `UM?: string`\n - `US?: string`\n - `UY?: string`\n - `UZ?: string`\n - `VA?: string`\n - `VC?: string`\n - `VE?: string`\n - `VG?: string`\n - `VI?: string`\n - `VN?: string`\n - `VU?: string`\n - `WF?: string`\n - `WS?: string`\n - `XK?: string`\n - `YE?: string`\n - `YT?: string`\n - `ZA?: string`\n - `ZM?: string`\n - `ZW?: string`\n\n- `height?: number`\n Logo height in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `image?: string`\n The image of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `ios?: string`\n The destination URL for iOS for the QR code for device targeting iOS.\n\n- `isFormMandatory?: boolean`\n If the form is mandatory for the page.\n\n- `key?: string`\n The slug of the QR code. If not provided, a random slug of 7 characters will be generated.\n\n- `latlog?: object`\n The latitude and longitude information of the QR code.\n\n- `level?: string`\n The level of error correction of the QR code.\n\n- `logo?: string`\n [DEPRECATED (use `src` instead)]: Not read by any renderer. Set `src` to an image uploaded via `POST /qrcodes/logo`.\n\n- `pageId?: string`\n The ID of the page to redirect to before the QR code destination.\n\n- `pageUrl?: string`\n The URL of the page to redirect to before the QR code destination.\n\n- `password?: string`\n The password required to access the destination URL of the QR code.\n\n- `pattern?: string`\n The pattern of the modules of the QR code.\n\n- `phone?: string`\n The phone number of the QR code.\n\n- `pix?: object`\n The Pix information of the QR code (key, name, city, amount, description).\n\n- `prefix?: string`\n The prefix for the randomly generated key. If provided, the key will be prefixed with this value.\n\n- `preRedirection?: boolean`\n If the QR code has pre-redirection.\n\n- `proxy?: boolean`\n If the QR code uses the custom link preview feature.\n\n- `publicStats?: boolean`\n If the statistics of the QR code are publicly accessible.\n\n- `rewrite?: boolean`\n If the QR code uses link cloaking.\n\n- `rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n Smart rules for conditional destination routing by request attribute.\n\n- `shape?: string`\n The shape of the design around the QR code (none, square, circle).\n\n- `showLogo?: boolean`\n If the logo should be displayed in the QR code.\n\n- `size?: number`\n The size of the QR code.\n\n- `sms?: object`\n The SMS information of the QR code.\n\n- `src?: string`\n The image URL of the QR code.\n\n- `static?: boolean`\n If the QR code is static.\n\n- `tagId?: string`\n The unique ID of the tag assigned to the QR code. This field is deprecated – use `tagIds` instead.\n\n- `tagIds?: string | string[]`\n The unique IDs of the tags assigned to the QR code.\n\n- `tagNames?: string | string[]`\n The unique name of the tags assigned to the QR code (case insensitive). Ignored when `tagIds` is also present.\n\n- `templateId?: string`\n ID of a QR code (in the same project) marked as a template. Its customization fields (colors, logo, pattern, shape, frame) will be applied to the new QR code unless explicitly overridden.\n\n- `text?: string`\n The text of the QR code.\n\n- `title?: string`\n The title of the QR code generated via `api.codeqr.io/metatags`. Will be used for custom link preview if `proxy` is true.\n\n- `trackConversion?: boolean`\n If should track conversions for the QR code.\n\n- `type?: string`\n The type of content of the QR code.\n\n- `url?: string`\n The destination URL of the QR code.\n\n- `useAsTemplate?: boolean`\n Whether this QR code should be used as a reusable template.\n\n- `useDisplayPage?: boolean`\n Kept for compatibility. A dynamic phone, email or SMS code is always served the display page, whose buttons open the dialler, the mail client or the SMS app; setting this to false changes nothing about what a scan gets.\n\n- `utm_campaign?: string`\n The utm_campaign of the destination URL.\n\n- `utm_content?: string`\n The utm_content of the destination URL.\n\n- `utm_medium?: string`\n The utm_medium of the destination URL.\n\n- `utm_source?: string`\n The utm_source of the destination URL.\n\n- `utm_term?: string`\n The utm_term of the destination URL.\n\n- `vcard?: object`\n The vCard information of the QR code.\n\n- `walletPass?: { barcodeText?: string; logo?: string; name?: string; }`\n Customizes the Google Wallet and Apple Wallet passes saved from this QR code. `name` and `logo` replace the workspace name and logo; left out (or `null`), the pass shows the workspace value. `barcodeText` sets the text under the QR code. On update: omit `walletPass` to keep the stored value, send `null` to clear it, or send an object to replace the stored one as a whole — fields missing from the object are cleared, not merged. Available on the Business plan and above, outside a trial: elsewhere a new value is refused with `403 forbidden` (`null` is always accepted) and a stored value is ignored, so the passes show the workspace name and logo.\n - `barcodeText?: string`\n The text shown under the QR code on the pass, such as the member's name or card number. The QR code's title is never shown there. Trimmed; 1 to 40 characters.\n - `logo?: string`\n The logo shown on the pass, in place of the workspace logo. Either the URL of an image uploaded via `POST /qrcodes/logo`, or any https URL serving a PNG, JPEG or WebP image of up to 2 MB without a redirect. An external image is copied to CodeQR storage when the QR code is written, and the response returns the URL of the copy, not the URL sent.\n - `name?: string`\n The name shown at the top of the pass, in place of the workspace name. Trimmed; 1 to 64 characters.\n\n- `webhookIds?: string[]`\n An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.\n\n- `whatsapp?: { number: string; message?: string; }`\n The WhatsApp click-to-chat info: E.164 number (digits only) and optional prefilled message.\n - `number: string`\n - `message?: string`\n\n- `width?: number`\n Logo width in pixels. When omitted, a proportional size is used based on the QR code size (about 10–20% depending on size).\n\n- `wifi?: object`\n The WiFi information of the QR code.\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: { barcodeText?: string; logo?: string; name?: string; }; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; }`\n\n - `id: string`\n - `android: string`\n - `archived: boolean`\n - `bgColor: string`\n - `comments: string`\n - `contentStatic: string`\n - `createdAt: string`\n - `crypto: object`\n - `description: string`\n - `doIndex: boolean`\n - `domain: string`\n - `email: object`\n - `excavate: boolean`\n - `expiredUrl: string`\n - `expiresAt: string`\n - `externalId: string`\n - `facetime: object`\n - `fgColor: string`\n - `filled: boolean`\n - `flexible: boolean`\n - `folderId: string`\n - `geo: object`\n - `height: number`\n - `image: string`\n - `ios: string`\n - `isFormMandatory: boolean`\n - `key: string`\n - `lastClicked: string`\n - `latlog: object`\n - `leads: number`\n - `level: string`\n - `logo: string`\n - `password: string`\n - `phone: string`\n - `preRedirection: boolean`\n - `projectId: string`\n - `proxy: boolean`\n - `publicStats: boolean`\n - `rewrite: boolean`\n - `rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]`\n - `saleAmount: number`\n - `sales: number`\n - `scans: number`\n - `showLogo: boolean`\n - `size: number`\n - `sms: object`\n - `src: string`\n - `static: boolean`\n - `tagId: string`\n - `tags: { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n - `text: string`\n - `title: string`\n - `trackConversion: boolean`\n - `type: string`\n - `updatedAt: string`\n - `url: string`\n - `useDisplayPage: boolean`\n - `userId: string`\n - `utm_campaign: string`\n - `utm_content: string`\n - `utm_medium: string`\n - `utm_source: string`\n - `utm_term: string`\n - `vcard: object`\n - `walletPass: { barcodeText?: string; logo?: string; name?: string; }`\n - `whatsapp: { number: string; message?: string; }`\n - `width: number`\n - `wifi: object`\n - `frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }`\n - `pageId?: string`\n - `pageUrl?: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst qrCode = await client.qrcodes.update('qrcodeId');\n\nconsole.log(qrCode);\n```",
509
516
  perLanguage: {
510
517
  typescript: {
511
518
  method: 'client.qrcodes.update',
512
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.update('qrcodeId');\n\nconsole.log(qrCode.id);",
519
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrCode = await client.qrcodes.update('qrcodeId');\n\nconsole.log(qrCode.id);",
513
520
  },
514
521
  http: {
515
522
  example: 'curl https://api.codeqr.io/qrcodes/$QRCODE_ID \\\n -X PUT \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -526,11 +533,11 @@ const EMBEDDED_METHODS = [
526
533
  qualified: 'client.qrcodes.delete',
527
534
  params: ['qrcodeId: string;'],
528
535
  response: '{ id: string; }',
529
- markdown: "## delete\n\n`client.qrcodes.delete(qrcodeId: string): { id: string; }`\n\n**delete** `/qrcodes/{qrcodeId}`\n\nDelete a QR Code for the authenticated workspace.\n\n### Parameters\n\n- `qrcodeId: string`\n The id of the QR Code to delete. You may use either `qrcodeId` (obtained via `/qrcodes/info` endpoint) or `externalId` prefixed with `ext_`.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst qrcode = await client.qrcodes.delete('qrcodeId');\n\nconsole.log(qrcode);\n```",
536
+ markdown: "## delete\n\n`client.qrcodes.delete(qrcodeId: string): { id: string; }`\n\n**delete** `/qrcodes/{qrcodeId}`\n\nDelete a QR Code for the authenticated workspace.\n\n### Parameters\n\n- `qrcodeId: string`\n The id of the QR Code to delete. You may use either `qrcodeId` (obtained via `/qrcodes/info` endpoint) or `externalId` prefixed with `ext_`.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst qrcode = await client.qrcodes.delete('qrcodeId');\n\nconsole.log(qrcode);\n```",
530
537
  perLanguage: {
531
538
  typescript: {
532
539
  method: 'client.qrcodes.delete',
533
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrcode = await client.qrcodes.delete('qrcodeId');\n\nconsole.log(qrcode.id);",
540
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst qrcode = await client.qrcodes.delete('qrcodeId');\n\nconsole.log(qrcode.id);",
534
541
  },
535
542
  http: {
536
543
  example: 'curl https://api.codeqr.io/qrcodes/$QRCODE_ID \\\n -X DELETE \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -546,14 +553,14 @@ const EMBEDDED_METHODS = [
546
553
  stainlessPath: '(resource) qrcodes.bulk > (method) create',
547
554
  qualified: 'client.qrcodes.bulk.create',
548
555
  params: [
549
- "body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; contentStatic?: string; crypto?: object; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[];",
556
+ "body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; pix?: object; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; walletPass?: { barcodeText?: string; logo?: string; name?: string; }; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[];",
550
557
  ],
551
558
  response: 'object | { code: string; error: string; qrcode?: object; }[]',
552
- markdown: "## create\n\n`client.qrcodes.bulk.create(body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; contentStatic?: string; crypto?: object; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[]): object | { code: string; error: string; qrcode?: object; }[]`\n\n**post** `/qrcodes/bulk`\n\nBulk create up to 100 QR Codes for the authenticated workspace.\n\n### Parameters\n\n- `body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; contentStatic?: string; crypto?: object; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[]`\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; notificationToken: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: object[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; } | { code: string; error: string; qrcode?: object; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst bulks = await client.qrcodes.bulk.create();\n\nconsole.log(bulks);\n```",
559
+ markdown: "## create\n\n`client.qrcodes.bulk.create(body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; pix?: object; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; walletPass?: { barcodeText?: string; logo?: string; name?: string; }; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[]): object | { code: string; error: string; qrcode?: object; }[]`\n\n**post** `/qrcodes/bulk`\n\nBulk create up to 100 QR Codes for the authenticated workspace.\n\n### Parameters\n\n- `body?: { type: string; android?: string; archived?: boolean; bgColor?: string; comments?: string; crypto?: { address?: string; amount?: string; cryptocurrency?: 'bitcoin' | 'bitcoincash' | 'ethereum' | 'litecoin' | 'dash' | 'dogecoin'; email?: string; message?: string; }; description?: string; doIndex?: boolean; domain?: string; email?: object; excavate?: boolean; expiredUrl?: string; expiresAt?: string; externalId?: string; facetime?: object; fgColor?: string; filled?: boolean; flexible?: boolean; folderId?: string; frame?: string; frameColor?: string; frameText?: string; frameTextColor?: string; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; geo?: { AD?: string; AE?: string; AF?: string; AG?: string; AI?: string; AL?: string; AM?: string; AO?: string; AQ?: string; AR?: string; AS?: string; AT?: string; AU?: string; AW?: string; AX?: string; AZ?: string; BA?: string; BB?: string; BD?: string; BE?: string; BF?: string; BG?: string; BH?: string; BI?: string; BJ?: string; BL?: string; BM?: string; BN?: string; BO?: string; BQ?: string; BR?: string; BS?: string; BT?: string; BV?: string; BW?: string; BY?: string; BZ?: string; CA?: string; CC?: string; CD?: string; CF?: string; CG?: string; CH?: string; CI?: string; CK?: string; CL?: string; CM?: string; CN?: string; CO?: string; CR?: string; CU?: string; CV?: string; CW?: string; CX?: string; CY?: string; CZ?: string; DE?: string; DJ?: string; DK?: string; DM?: string; DO?: string; DZ?: string; EC?: string; EE?: string; EG?: string; EH?: string; ER?: string; ES?: string; ET?: string; FI?: string; FJ?: string; FK?: string; FM?: string; FO?: string; FR?: string; GA?: string; GB?: string; GD?: string; GE?: string; GF?: string; GG?: string; GH?: string; GI?: string; GL?: string; GM?: string; GN?: string; GP?: string; GQ?: string; GR?: string; GS?: string; GT?: string; GU?: string; GW?: string; GY?: string; HK?: string; HM?: string; HN?: string; HR?: string; HT?: string; HU?: string; ID?: string; IE?: string; IL?: string; IM?: string; IN?: string; IO?: string; IQ?: string; IR?: string; IS?: string; IT?: string; JE?: string; JM?: string; JO?: string; JP?: string; KE?: string; KG?: string; KH?: string; KI?: string; KM?: string; KN?: string; KP?: string; KR?: string; KW?: string; KY?: string; KZ?: string; LA?: string; LB?: string; LC?: string; LI?: string; LK?: string; LR?: string; LS?: string; LT?: string; LU?: string; LV?: string; LY?: string; MA?: string; MC?: string; MD?: string; ME?: string; MF?: string; MG?: string; MH?: string; MK?: string; ML?: string; MM?: string; MN?: string; MO?: string; MP?: string; MQ?: string; MR?: string; MS?: string; MT?: string; MU?: string; MV?: string; MW?: string; MX?: string; MY?: string; MZ?: string; NA?: string; NC?: string; NE?: string; NF?: string; NG?: string; NI?: string; NL?: string; NO?: string; NP?: string; NR?: string; NU?: string; NZ?: string; OM?: string; PA?: string; PE?: string; PF?: string; PG?: string; PH?: string; PK?: string; PL?: string; PM?: string; PN?: string; PR?: string; PS?: string; PT?: string; PW?: string; PY?: string; QA?: string; RE?: string; RO?: string; RS?: string; RU?: string; RW?: string; SA?: string; SB?: string; SC?: string; SD?: string; SE?: string; SG?: string; SH?: string; SI?: string; SJ?: string; SK?: string; SL?: string; SM?: string; SN?: string; SO?: string; SR?: string; SS?: string; ST?: string; SV?: string; SX?: string; SY?: string; SZ?: string; TC?: string; TD?: string; TF?: string; TG?: string; TH?: string; TJ?: string; TK?: string; TL?: string; TM?: string; TN?: string; TO?: string; TR?: string; TT?: string; TV?: string; TW?: string; TZ?: string; UA?: string; UG?: string; UM?: string; US?: string; UY?: string; UZ?: string; VA?: string; VC?: string; VE?: string; VG?: string; VI?: string; VN?: string; VU?: string; WF?: string; WS?: string; XK?: string; YE?: string; YT?: string; ZA?: string; ZM?: string; ZW?: string; }; height?: number; image?: string; ios?: string; isFormMandatory?: boolean; key?: string; latlog?: object; level?: string; logo?: string; pageId?: string; pageUrl?: string; password?: string; pattern?: string; phone?: string; pix?: object; prefix?: string; preRedirection?: boolean; proxy?: boolean; publicStats?: boolean; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: { url: string; weight: number; }[]; url?: string; value?: string; }[]; shape?: string; showLogo?: boolean; size?: number; sms?: object; src?: string; static?: boolean; tagId?: string; tagIds?: string | string[]; tagNames?: string | string[]; templateId?: string; text?: string; title?: string; trackConversion?: boolean; url?: string; useAsTemplate?: boolean; useDisplayPage?: boolean; vcard?: object; walletPass?: { barcodeText?: string; logo?: string; name?: string; }; webhookIds?: string[]; whatsapp?: { number: string; message?: string; }; width?: number; wifi?: object; }[]`\n\n### Returns\n\n- `{ id: string; android: string; archived: boolean; bgColor: string; comments: string; contentStatic: string; createdAt: string; crypto: object; description: string; doIndex: boolean; domain: string; email: object; excavate: boolean; expiredUrl: string; expiresAt: string; externalId: string; facetime: object; fgColor: string; filled: boolean; flexible: boolean; folderId: string; geo: object; height: number; image: string; ios: string; isFormMandatory: boolean; key: string; lastClicked: string; latlog: object; leads: number; level: string; logo: string; password: string; phone: string; preRedirection: boolean; projectId: string; proxy: boolean; publicStats: boolean; rewrite: boolean; rules: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; saleAmount: number; sales: number; scans: number; showLogo: boolean; size: number; sms: object; src: string; static: boolean; tagId: string; tags: object[]; text: string; title: string; trackConversion: boolean; type: string; updatedAt: string; url: string; useDisplayPage: boolean; userId: string; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; vcard: object; walletPass: { barcodeText?: string; logo?: string; name?: string; }; whatsapp: { number: string; message?: string; }; width: number; wifi: object; frameTextStyles?: { family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono'; size?: 's' | 'm' | 'l' | 'xl'; style?: 'normal' | 'italic'; weight?: 'normal' | 'bold'; }; pageId?: string; pageUrl?: string; } | { code: string; error: string; qrcode?: object; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst bulks = await client.qrcodes.bulk.create();\n\nconsole.log(bulks);\n```",
553
560
  perLanguage: {
554
561
  typescript: {
555
562
  method: 'client.qrcodes.bulk.create',
556
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst bulks = await client.qrcodes.bulk.create();\n\nconsole.log(bulks);",
563
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst bulks = await client.qrcodes.bulk.create();\n\nconsole.log(bulks);",
557
564
  },
558
565
  http: {
559
566
  example: 'curl https://api.codeqr.io/qrcodes/bulk \\\n -X POST \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -600,12 +607,12 @@ const EMBEDDED_METHODS = [
600
607
  'utm_source?: string;',
601
608
  'utm_term?: string;',
602
609
  ],
603
- response: 'object | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[]',
604
- markdown: "## retrieve\n\n`client.analytics.retrieve(browser?: string, city?: string, continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA', country?: string, device?: string, domain?: string, end?: string, event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views' | 'composite', excludeRoot?: boolean, externalId?: string, groupBy?: string, interval?: '1h' | '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all' | 'all_unfiltered', key?: string, linkId?: string, os?: string, pageId?: string, qrcodeId?: string, referer?: string, root?: boolean, start?: string, tagId?: string, timezone?: string, type?: string, types?: string, url?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string): { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; views: number; } | { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; start: string; views: number; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'; }[] | { city: '*'; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { city: '*'; clicks: number; country: string; leads: number; region: string; saleAmount: number; sales: number; }[] | { city: string; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; device: string; leads: number; saleAmount: number; sales: number; }[] | { browser: string; clicks: number; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; os: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; referer: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; refererUrl: string; saleAmount: number; sales: number; }[] | { id: string; clicks: number; createdAt: string; domain: string; key: string; leads: number; link: string; shortLink: string; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; url: string; }[]`\n\n**get** `/analytics`\n\nRetrieve analytics for a link, a domain, or the authenticated workspace. The response type depends on the `event` and `type` query parameters.\n\n### Parameters\n\n- `browser?: string`\n The browser to retrieve analytics for.\n\n- `city?: string`\n The city to retrieve analytics for.\n\n- `continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'`\n The continent to retrieve analytics for.\n\n- `country?: string`\n The country to retrieve analytics for.\n\n- `device?: string`\n The device to retrieve analytics for.\n\n- `domain?: string`\n The domain of the short link.\n\n- `end?: string`\n The end date and time when to retrieve analytics from. If not provided, defaults to the current date.\n\n- `event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views' | 'composite'`\n The type of event to retrieve analytics for. Defaults to 'analytics'.\n\n- `excludeRoot?: boolean`\n Whether to exclude the root link from the response.\n\n- `externalId?: string`\n This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.\n\n- `groupBy?: string`\n The parameter to group the analytics data points by. Defaults to 'count' if undefined.\n\n- `interval?: '1h' | '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all' | 'all_unfiltered'`\n The interval to retrieve analytics for. Takes precedence over start and end.\n\n- `key?: string`\n The short link slug.\n\n- `linkId?: string`\n The unique ID of the short link on CodeQR.\n\n- `os?: string`\n The OS to retrieve analytics for.\n\n- `pageId?: string`\n The unique ID of the page on CodeQR.\n\n- `qrcodeId?: string`\n The unique ID of the QR code on CodeQR.\n\n- `referer?: string`\n The referer to retrieve analytics for.\n\n- `root?: boolean`\n Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.\n\n- `start?: string`\n The start date and time when to retrieve analytics from.\n\n- `tagId?: string`\n The tag ID to retrieve analytics for.\n\n- `timezone?: string`\n The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.\n\n- `type?: string`\n The type of analytics to retrieve.\n\n- `types?: string`\n The types of analytics to retrieve.\n\n- `url?: string`\n The URL to retrieve analytics for.\n\n- `utm_campaign?: string`\n UTM campaign to filter analytics by.\n\n- `utm_content?: string`\n UTM content to filter analytics by.\n\n- `utm_medium?: string`\n UTM medium to filter analytics by.\n\n- `utm_source?: string`\n UTM source to filter analytics by.\n\n- `utm_term?: string`\n UTM term to filter analytics by.\n\n### Returns\n\n- `{ clicks: number; leads: number; saleAmount: number; sales: number; scans: number; views: number; } | { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; start: string; views: number; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'; }[] | { city: '*'; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { city: '*'; clicks: number; country: string; leads: number; region: string; saleAmount: number; sales: number; }[] | { city: string; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; device: string; leads: number; saleAmount: number; sales: number; }[] | { browser: string; clicks: number; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; os: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; referer: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; refererUrl: string; saleAmount: number; sales: number; }[] | { id: string; clicks: number; createdAt: string; domain: string; key: string; leads: number; link: string; shortLink: string; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; url: string; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst analytics = await client.analytics.retrieve();\n\nconsole.log(analytics);\n```",
610
+ response: 'object | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[] | object[]',
611
+ markdown: "## retrieve\n\n`client.analytics.retrieve(browser?: string, city?: string, continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA', country?: string, device?: string, domain?: string, end?: string, event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views' | 'composite', excludeRoot?: boolean, externalId?: string, groupBy?: string, interval?: '1h' | '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all' | 'all_unfiltered', key?: string, linkId?: string, os?: string, pageId?: string, qrcodeId?: string, referer?: string, root?: boolean, start?: string, tagId?: string, timezone?: string, type?: string, types?: string, url?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string): { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; views: number; } | { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; start: string; views: number; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'; }[] | { city: '*'; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { city: '*'; clicks: number; country: string; leads: number; region: string; saleAmount: number; sales: number; }[] | { city: string; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; device: string; leads: number; saleAmount: number; sales: number; }[] | { browser: string; clicks: number; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; os: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; referer: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; refererUrl: string; saleAmount: number; sales: number; }[] | { id: string; clicks: number; createdAt: string; domain: string; key: string; leads: number; link: string; shortLink: string; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; trigger: 'link' | 'qr' | 'nfc'; }[]`\n\n**get** `/analytics`\n\nRetrieve analytics for a link, a domain, or the authenticated workspace. The response type depends on the `event` and `type` query parameters.\n\n### Parameters\n\n- `browser?: string`\n The browser to retrieve analytics for.\n\n- `city?: string`\n The city to retrieve analytics for.\n\n- `continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'`\n The continent to retrieve analytics for.\n\n- `country?: string`\n The country to retrieve analytics for.\n\n- `device?: string`\n The device to retrieve analytics for.\n\n- `domain?: string`\n The domain of the short link.\n\n- `end?: string`\n The end date and time when to retrieve analytics from. If not provided, defaults to the current date.\n\n- `event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views' | 'composite'`\n The type of event to retrieve analytics for. Defaults to 'analytics'.\n\n- `excludeRoot?: boolean`\n Whether to exclude the root link from the response.\n\n- `externalId?: string`\n This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.\n\n- `groupBy?: string`\n The parameter to group the analytics data points by. Defaults to 'count' if undefined. Some values depend on the workspace plan and answer 403 `forbidden` on a plan without them: `referers` and `referer_urls` need the Starter, Pro, Business, Scale, or Enterprise plan; `devices`, `browsers`, and `os` need the Starter, Pro, Business, Scale, or Enterprise plan; `utm_sources`, `utm_mediums`, `utm_campaigns`, `utm_contents`, and `utm_terms` need the Pro, Business, Scale, or Enterprise plan.\n\n- `interval?: '1h' | '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all' | 'all_unfiltered'`\n The interval to retrieve analytics for. Takes precedence over start and end.\n\n- `key?: string`\n The short link slug.\n\n- `linkId?: string`\n The unique ID of the short link on CodeQR.\n\n- `os?: string`\n The OS to retrieve analytics for.\n\n- `pageId?: string`\n The unique ID of the page on CodeQR.\n\n- `qrcodeId?: string`\n The unique ID of the QR code on CodeQR.\n\n- `referer?: string`\n The referer to retrieve analytics for.\n\n- `root?: boolean`\n Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.\n\n- `start?: string`\n The start date and time when to retrieve analytics from.\n\n- `tagId?: string`\n The tag ID to retrieve analytics for.\n\n- `timezone?: string`\n The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.\n\n- `type?: string`\n The type of analytics to retrieve.\n\n- `types?: string`\n The types of analytics to retrieve.\n\n- `url?: string`\n The destination URL to retrieve analytics for. Match it without the query params CodeQR copies off the click (UTM and ad click IDs such as fbclid or gclid): those differ per visitor, so a URL carrying them matches at most one click.\n\n- `utm_campaign?: string`\n UTM campaign to filter analytics by.\n\n- `utm_content?: string`\n UTM content to filter analytics by.\n\n- `utm_medium?: string`\n UTM medium to filter analytics by.\n\n- `utm_source?: string`\n UTM source to filter analytics by.\n\n- `utm_term?: string`\n UTM term to filter analytics by.\n\n### Returns\n\n- `{ clicks: number; leads: number; saleAmount: number; sales: number; scans: number; views: number; } | { clicks: number; leads: number; saleAmount: number; sales: number; scans: number; start: string; views: number; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'; }[] | { city: '*'; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { city: '*'; clicks: number; country: string; leads: number; region: string; saleAmount: number; sales: number; }[] | { city: string; clicks: number; country: string; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; device: string; leads: number; saleAmount: number; sales: number; }[] | { browser: string; clicks: number; leads: number; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; os: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; referer: string; saleAmount: number; sales: number; }[] | { clicks: number; leads: number; refererUrl: string; saleAmount: number; sales: number; }[] | { id: string; clicks: number; createdAt: string; domain: string; key: string; leads: number; link: string; shortLink: string; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; url: string; }[] | { clicks: number; leads: number; saleAmount: number; sales: number; trigger: 'link' | 'qr' | 'nfc'; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst analytics = await client.analytics.retrieve();\n\nconsole.log(analytics);\n```",
605
612
  perLanguage: {
606
613
  typescript: {
607
614
  method: 'client.analytics.retrieve',
608
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst analytics = await client.analytics.retrieve();\n\nconsole.log(analytics);",
615
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst analytics = await client.analytics.retrieve();\n\nconsole.log(analytics);",
609
616
  },
610
617
  http: {
611
618
  example: 'curl https://api.codeqr.io/analytics \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -655,12 +662,12 @@ const EMBEDDED_METHODS = [
655
662
  'utm_source?: string;',
656
663
  'utm_term?: string;',
657
664
  ],
658
- response: "{ browser: string; city: string; click: object; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: object; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: object; link_id: string; metadata: string; os: string; payment_processor: string; sale: object; saleAmount: number; type: string; url: string; timestamp?: string; }[]",
659
- markdown: "## list\n\n`client.events.list(browser?: string, city?: string, continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA', country?: string, device?: string, domain?: string, end?: string, event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views', excludeRoot?: boolean, externalId?: string, interval?: '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all', key?: string, limit?: number, linkId?: string, order?: 'asc' | 'desc', os?: string, page?: number, pageId?: string, qrcodeId?: string, referer?: string, root?: boolean, sortBy?: 'timestamp', start?: string, tagId?: string, timezone?: string, type?: string, types?: string, url?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string): { browser: string; city: string; click: object; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: object; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: object; link_id: string; metadata: string; os: string; payment_processor: string; sale: object; saleAmount: number; type: string; url: string; timestamp?: string; }[]`\n\n**get** `/events`\n\nRetrieve a paginated list of events for the authenticated workspace.\n\n### Parameters\n\n- `browser?: string`\n The browser to retrieve analytics for.\n\n- `city?: string`\n The city to retrieve analytics for.\n\n- `continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'`\n The continent to retrieve analytics for.\n\n- `country?: string`\n The country to retrieve analytics for.\n\n- `device?: string`\n The device to retrieve analytics for.\n\n- `domain?: string`\n The domain of the short link.\n\n- `end?: string`\n The end date and time when to retrieve analytics from. If not provided, defaults to the current date.\n\n- `event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views'`\n The type of event to retrieve analytics for. Defaults to 'clicks'.\n\n- `excludeRoot?: boolean`\n Whether to exclude the root link from the response.\n\n- `externalId?: string`\n This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.\n\n- `interval?: '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all'`\n The interval to retrieve events for. Takes precedence over start and end. If undefined, defaults to 24h.\n\n- `key?: string`\n The short link slug.\n\n- `limit?: number`\n\n- `linkId?: string`\n The unique ID of the short link on CodeQR.\n\n- `order?: 'asc' | 'desc'`\n\n- `os?: string`\n The OS to retrieve analytics for.\n\n- `page?: number`\n\n- `pageId?: string`\n The unique ID of the page on CodeQR.\n\n- `qrcodeId?: string`\n The unique ID of the QR code on CodeQR.\n\n- `referer?: string`\n The referer to retrieve analytics for.\n\n- `root?: boolean`\n Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.\n\n- `sortBy?: 'timestamp'`\n\n- `start?: string`\n The start date and time when to retrieve analytics from.\n\n- `tagId?: string`\n The tag ID to retrieve analytics for.\n\n- `timezone?: string`\n The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.\n\n- `type?: string`\n The type of analytics to retrieve.\n\n- `types?: string`\n The types of analytics to retrieve.\n\n- `url?: string`\n The URL to retrieve analytics for.\n\n- `utm_campaign?: string`\n UTM campaign to filter analytics by.\n\n- `utm_content?: string`\n UTM content to filter analytics by.\n\n- `utm_medium?: string`\n UTM medium to filter analytics by.\n\n- `utm_source?: string`\n UTM source to filter analytics by.\n\n- `utm_term?: string`\n UTM term to filter analytics by.\n\n### Returns\n\n- `{ browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: { id: string; android: string; clicks: number; comments: string; createdAt: string; description: string; domain: string; expiredUrl: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; updatedAt: string; useAsTemplate: boolean; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; archived?: boolean; doIndex?: boolean; expiresAt?: string; externalId?: string; lastClicked?: string; pageId?: string; pageUrl?: string; proxy?: boolean; publicStats?: boolean; qrCode?: string; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; shortLink?: string; trackConversion?: boolean; url?: string; userId?: string; }; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; customer: { id: string; avatar: string; email: string; name: string; }; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; customer: { id: string; createdAt: string; externalId: string; name: string; avatar?: string; country?: string; customFields?: object; email?: string; link?: { id: string; domain: string; key: string; shortLink?: string; }; }; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: { id: string; android: string; clicks: number; comments: string; createdAt: string; description: string; domain: string; expiredUrl: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; updatedAt: string; useAsTemplate: boolean; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; archived?: boolean; doIndex?: boolean; expiresAt?: string; externalId?: string; lastClicked?: string; pageId?: string; pageUrl?: string; proxy?: boolean; publicStats?: boolean; qrCode?: string; rewrite?: boolean; rules?: { attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language'; operator: 'equals' | 'not_equals'; url: string; value: string; }[]; shortLink?: string; trackConversion?: boolean; url?: string; userId?: string; }; link_id: string; metadata: string; os: string; payment_processor: string; sale: { amount: number; invoiceId: string; paymentProcessor: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual'; }; saleAmount: number; type: string; url: string; timestamp?: string; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst events = await client.events.list();\n\nconsole.log(events);\n```",
665
+ response: "{ browser: string; city: string; click: object; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: object; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: object; link_id: string; metadata: string; os: string; payment_processor: string; sale: object; saleAmount: number; timestamp: string; type: string; url: string; }[]",
666
+ markdown: "## list\n\n`client.events.list(browser?: string, city?: string, continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA', country?: string, device?: string, domain?: string, end?: string, event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views', excludeRoot?: boolean, externalId?: string, interval?: '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all', key?: string, limit?: number, linkId?: string, order?: 'asc' | 'desc', os?: string, page?: number, pageId?: string, qrcodeId?: string, referer?: string, root?: boolean, sortBy?: 'timestamp', start?: string, tagId?: string, timezone?: string, type?: string, types?: string, url?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, utm_term?: string): { browser: string; city: string; click: object; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: object; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: object; click_id: string; continent: string; country: string; customer: object; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: object; link_id: string; metadata: string; os: string; payment_processor: string; sale: object; saleAmount: number; timestamp: string; type: string; url: string; }[]`\n\n**get** `/events`\n\nRetrieve a paginated list of events for the authenticated workspace.\n\n### Parameters\n\n- `browser?: string`\n The browser to retrieve analytics for.\n\n- `city?: string`\n The city to retrieve analytics for.\n\n- `continent?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA'`\n The continent to retrieve analytics for.\n\n- `country?: string`\n The country to retrieve analytics for.\n\n- `device?: string`\n The device to retrieve analytics for.\n\n- `domain?: string`\n The domain of the short link.\n\n- `end?: string`\n The end date and time when to retrieve analytics from. If not provided, defaults to the current date.\n\n- `event?: 'clicks' | 'leads' | 'sales' | 'scans' | 'views'`\n The type of event to retrieve analytics for. Defaults to 'clicks'.\n\n- `excludeRoot?: boolean`\n Whether to exclude the root link from the response.\n\n- `externalId?: string`\n This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.\n\n- `interval?: '24h' | '7d' | '30d' | '90d' | 'ytd' | '1y' | 'all'`\n The interval to retrieve events for. Takes precedence over start and end. If undefined, defaults to 24h.\n\n- `key?: string`\n The short link slug.\n\n- `limit?: number`\n\n- `linkId?: string`\n The unique ID of the short link on CodeQR.\n\n- `order?: 'asc' | 'desc'`\n\n- `os?: string`\n The OS to retrieve analytics for.\n\n- `page?: number`\n\n- `pageId?: string`\n The unique ID of the page on CodeQR.\n\n- `qrcodeId?: string`\n The unique ID of the QR code on CodeQR.\n\n- `referer?: string`\n The referer to retrieve analytics for.\n\n- `root?: boolean`\n Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.\n\n- `sortBy?: 'timestamp'`\n\n- `start?: string`\n The start date and time when to retrieve analytics from.\n\n- `tagId?: string`\n The tag ID to retrieve analytics for.\n\n- `timezone?: string`\n The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.\n\n- `type?: string`\n The type of analytics to retrieve.\n\n- `types?: string`\n The types of analytics to retrieve.\n\n- `url?: string`\n The destination URL to retrieve analytics for. Match it without the query params CodeQR copies off the click (UTM and ad click IDs such as fbclid or gclid): those differ per visitor, so a URL carrying them matches at most one click.\n\n- `utm_campaign?: string`\n UTM campaign to filter analytics by.\n\n- `utm_content?: string`\n UTM content to filter analytics by.\n\n- `utm_medium?: string`\n UTM medium to filter analytics by.\n\n- `utm_source?: string`\n UTM source to filter analytics by.\n\n- `utm_term?: string`\n UTM term to filter analytics by.\n\n### Returns\n\n- `{ browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; device: string; domain: string; event: 'click'; ip: string; key: string; link: { id: string; android: string; clicks: number; comments: string; createdAt: string; description: string; domain: string; expiredUrl: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; updatedAt: string; useAsTemplate: boolean; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; archived?: boolean; doIndex?: boolean; expiresAt?: string; externalId?: string; lastClicked?: string; pageId?: string; pageUrl?: string; proxy?: boolean; publicStats?: boolean; qrCode?: string; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; shortLink?: string; trackConversion?: boolean; url?: string; userId?: string; }; link_id: string; os: string; type: string; url: string; timestamp?: string; } | { browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; customer: { id: string; avatar: string; email: string; name: string; }; device: string; domain: string; event: 'lead'; eventId: string; eventName: string; ip: string; key: string; link_id: string; os: string; type: string; url: string; link?: object; timestamp?: string; } | { browser: string; city: string; click: { id: string; browser: string; city: string; continent: string; country: string; device: string; ip: string; os: string; referer: string; refererUrl: string; type: string; url: string; }; click_id: string; continent: string; country: string; customer: { id: string; avatar: string; email: string; name: string; }; device: string; domain: string; event: 'sale'; eventId: string; eventName: string; invoice_id: string; ip: string; key: string; link: { id: string; android: string; clicks: number; comments: string; createdAt: string; description: string; domain: string; expiredUrl: string; filled: boolean; flexible: boolean; folderId: string; geo: object; image: string; ios: string; isFormMandatory: boolean; key: string; leads: number; notificationToken: string; password: string; preRedirection: boolean; projectId: string; saleAmount: number; sales: number; tagId: string; tags: object[]; title: string; updatedAt: string; useAsTemplate: boolean; utm_campaign: string; utm_content: string; utm_medium: string; utm_source: string; utm_term: string; video: string; archived?: boolean; doIndex?: boolean; expiresAt?: string; externalId?: string; lastClicked?: string; pageId?: string; pageUrl?: string; proxy?: boolean; publicStats?: boolean; qrCode?: string; rewrite?: boolean; rules?: { attribute?: string; operator?: 'equals' | 'not_equals'; split?: object[]; url?: string; value?: string; }[]; shortLink?: string; trackConversion?: boolean; url?: string; userId?: string; }; link_id: string; metadata: string; os: string; payment_processor: string; sale: { amount: number; invoiceId: string; paymentProcessor: string; }; saleAmount: number; timestamp: string; type: string; url: string; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst events = await client.events.list();\n\nconsole.log(events);\n```",
660
667
  perLanguage: {
661
668
  typescript: {
662
669
  method: 'client.events.list',
663
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst events = await client.events.list();\n\nconsole.log(events);",
670
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst events = await client.events.list();\n\nconsole.log(events);",
664
671
  },
665
672
  http: {
666
673
  example: 'curl https://api.codeqr.io/events \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -681,11 +688,11 @@ const EMBEDDED_METHODS = [
681
688
  'tag?: string;',
682
689
  ],
683
690
  response: "{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }",
684
- markdown: "## create\n\n`client.tags.create(color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown', name?: string, tag?: string): { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n**post** `/tags`\n\nCreate a new tag for the authenticated project.\n\n### Parameters\n\n- `color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n The color of the tag. If not provided, a random color will be used from the list: red, yellow, green, blue, purple, pink, brown.\n\n- `name?: string`\n The name of the tag to create.\n\n- `tag?: string`\n The name of the tag to create.\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n - `id: string`\n - `color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n - `name: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst tag = await client.tags.create();\n\nconsole.log(tag);\n```",
691
+ markdown: "## create\n\n`client.tags.create(color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown', name?: string, tag?: string): { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n**post** `/tags`\n\nCreate a new tag for the authenticated project.\n\n### Parameters\n\n- `color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n The color of the tag. If not provided, a random color will be used from the list: red, yellow, green, blue, purple, pink, brown.\n\n- `name?: string`\n The name of the tag to create.\n\n- `tag?: string`\n The name of the tag to create.\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n - `id: string`\n - `color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n - `name: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst tag = await client.tags.create();\n\nconsole.log(tag);\n```",
685
692
  perLanguage: {
686
693
  typescript: {
687
694
  method: 'client.tags.create',
688
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.create();\n\nconsole.log(tag.id);",
695
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.create();\n\nconsole.log(tag.id);",
689
696
  },
690
697
  http: {
691
698
  example: 'curl https://api.codeqr.io/tags \\\n -X POST \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -709,11 +716,11 @@ const EMBEDDED_METHODS = [
709
716
  "sortOrder?: 'asc' | 'desc';",
710
717
  ],
711
718
  response: "{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]",
712
- markdown: "## list\n\n`client.tags.list(ids?: string | string[], page?: number, pageSize?: number, search?: string, sortBy?: 'name' | 'createdAt', sortOrder?: 'asc' | 'desc'): object[]`\n\n**get** `/tags`\n\nRetrieve a list of tags for the authenticated workspace.\n\n### Parameters\n\n- `ids?: string | string[]`\n IDs of tags to filter by.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `search?: string`\n The search term to filter the tags by.\n\n- `sortBy?: 'name' | 'createdAt'`\n The field to sort the tags by.\n\n- `sortOrder?: 'asc' | 'desc'`\n The order to sort the tags by.\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst tags = await client.tags.list();\n\nconsole.log(tags);\n```",
719
+ markdown: "## list\n\n`client.tags.list(ids?: string | string[], page?: number, pageSize?: number, search?: string, sortBy?: 'name' | 'createdAt', sortOrder?: 'asc' | 'desc'): object[]`\n\n**get** `/tags`\n\nRetrieve a list of tags for the authenticated workspace.\n\n### Parameters\n\n- `ids?: string | string[]`\n IDs of tags to filter by.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `search?: string`\n The search term to filter the tags by.\n\n- `sortBy?: 'name' | 'createdAt'`\n The field to sort the tags by.\n\n- `sortOrder?: 'asc' | 'desc'`\n The order to sort the tags by.\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst tags = await client.tags.list();\n\nconsole.log(tags);\n```",
713
720
  perLanguage: {
714
721
  typescript: {
715
722
  method: 'client.tags.list',
716
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tags = await client.tags.list();\n\nconsole.log(tags);",
723
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tags = await client.tags.list();\n\nconsole.log(tags);",
717
724
  },
718
725
  http: {
719
726
  example: 'curl https://api.codeqr.io/tags \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -734,11 +741,11 @@ const EMBEDDED_METHODS = [
734
741
  "color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown';",
735
742
  ],
736
743
  response: "{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }",
737
- markdown: "## update\n\n`client.tags.update(id: string, name: string, color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'): { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n**put** `/tags/{id}`\n\nUpdate a tag in the workspace.\n\n### Parameters\n\n- `id: string`\n The ID of the tag to update.\n\n- `name: string`\n\n- `color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n The color of the tag\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n - `id: string`\n - `color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n - `name: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst tag = await client.tags.update('id', { name: 'x' });\n\nconsole.log(tag);\n```",
744
+ markdown: "## update\n\n`client.tags.update(id: string, name: string, color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'): { id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n**put** `/tags/{id}`\n\nUpdate a tag in the workspace.\n\n### Parameters\n\n- `id: string`\n The ID of the tag to update.\n\n- `name: string`\n\n- `color?: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n The color of the tag\n\n### Returns\n\n- `{ id: string; color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'; name: string; }`\n\n - `id: string`\n - `color: 'red' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown'`\n - `name: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst tag = await client.tags.update('id', { name: 'x' });\n\nconsole.log(tag);\n```",
738
745
  perLanguage: {
739
746
  typescript: {
740
747
  method: 'client.tags.update',
741
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.update('id', { name: 'x' });\n\nconsole.log(tag.id);",
748
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.update('id', { name: 'x' });\n\nconsole.log(tag.id);",
742
749
  },
743
750
  http: {
744
751
  example: 'curl https://api.codeqr.io/tags/$ID \\\n -X PUT \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "name": "x"\n }\'',
@@ -755,11 +762,11 @@ const EMBEDDED_METHODS = [
755
762
  qualified: 'client.tags.delete',
756
763
  params: ['id: string;'],
757
764
  response: '{ id: string; }',
758
- markdown: "## delete\n\n`client.tags.delete(id: string): { id: string; }`\n\n**delete** `/tags/{id}`\n\nDelete a tag from the workspace. All existing links will still work, but they will no longer be associated with this tag.\n\n### Parameters\n\n- `id: string`\n The ID of the tag to delete.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst tag = await client.tags.delete('id');\n\nconsole.log(tag);\n```",
765
+ markdown: "## delete\n\n`client.tags.delete(id: string): { id: string; }`\n\n**delete** `/tags/{id}`\n\nDelete a tag from the workspace. All existing links will still work, but they will no longer be associated with this tag.\n\n### Parameters\n\n- `id: string`\n The ID of the tag to delete.\n\n### Returns\n\n- `{ id: string; }`\n\n - `id: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst tag = await client.tags.delete('id');\n\nconsole.log(tag);\n```",
759
766
  perLanguage: {
760
767
  typescript: {
761
768
  method: 'client.tags.delete',
762
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.delete('id');\n\nconsole.log(tag.id);",
769
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst tag = await client.tags.delete('id');\n\nconsole.log(tag.id);",
763
770
  },
764
771
  http: {
765
772
  example: 'curl https://api.codeqr.io/tags/$ID \\\n -X DELETE \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -783,14 +790,14 @@ const EMBEDDED_METHODS = [
783
790
  "type?: 'redirect' | 'rewrite';",
784
791
  ],
785
792
  response: "{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }",
786
- markdown: "## create\n\n`client.domains.create(slug: string, archived?: boolean, expiredUrl?: string, placeholder?: string, target?: string, type?: 'redirect' | 'rewrite'): { id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n**post** `/domains`\n\nCreate a domain for the authenticated workspace.\n\n### Parameters\n\n- `slug: string`\n Name of the domain.\n\n- `archived?: boolean`\n Whether to archive this domain. `false` will unarchive a previously archived domain.\n\n- `expiredUrl?: string`\n Redirect users to a specific URL when any link under this domain has expired.\n\n- `placeholder?: string`\n Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.\n\n- `target?: string`\n The target URL to redirect to when accessing the domain root.\n\n- `type?: 'redirect' | 'rewrite'`\n The behavior type for the domain root redirect.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n - `id: string`\n - `archived: boolean`\n - `createdAt: string`\n - `expiredUrl: string`\n - `placeholder: string`\n - `primary: boolean`\n - `slug: string`\n - `target: string`\n - `type: 'redirect' | 'rewrite'`\n - `updatedAt: string`\n - `verified: boolean`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst domain = await client.domains.create({ slug: 'acme.com' });\n\nconsole.log(domain);\n```",
793
+ markdown: "## create\n\n`client.domains.create(slug: string, archived?: boolean, expiredUrl?: string, placeholder?: string, target?: string, type?: 'redirect' | 'rewrite'): { id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n**post** `/domains`\n\nCreate a domain for the authenticated workspace.\n\n### Parameters\n\n- `slug: string`\n Name of the domain.\n\n- `archived?: boolean`\n Whether to archive this domain. `false` will unarchive a previously archived domain.\n\n- `expiredUrl?: string`\n Redirect users to a specific URL when any link under this domain has expired.\n\n- `placeholder?: string`\n Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.\n\n- `target?: string`\n The target URL to redirect to when accessing the domain root.\n\n- `type?: 'redirect' | 'rewrite'`\n The behavior type for the domain root redirect.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n - `id: string`\n - `archived: boolean`\n - `createdAt: string`\n - `expiredUrl: string`\n - `placeholder: string`\n - `primary: boolean`\n - `slug: string`\n - `target: string`\n - `type: 'redirect' | 'rewrite'`\n - `updatedAt: string`\n - `verified: boolean`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst domain = await client.domains.create({ slug: 'acme.com' });\n\nconsole.log(domain);\n```",
787
794
  perLanguage: {
788
795
  typescript: {
789
796
  method: 'client.domains.create',
790
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.create({ slug: 'acme.com' });\n\nconsole.log(domain.id);",
797
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.create({ slug: 'acme.com' });\n\nconsole.log(domain.id);",
791
798
  },
792
799
  http: {
793
- example: 'curl https://api.codeqr.io/domains \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "slug": "acme.com",\n "archived": false,\n "expiredUrl": "https://acme.com/expired",\n "placeholder": "https://codeqr.io/help/article/what-is-codeqr",\n "target": "https://acme.com"\n }\'',
800
+ example: 'curl https://api.codeqr.io/domains \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "slug": "acme.com",\n "archived": false,\n "expiredUrl": "https://acme.com/expired",\n "placeholder": "https://codeqr.io",\n "target": "https://acme.com"\n }\'',
794
801
  },
795
802
  },
796
803
  },
@@ -804,11 +811,11 @@ const EMBEDDED_METHODS = [
804
811
  qualified: 'client.domains.list',
805
812
  params: ['archived?: boolean;', 'page?: number;', 'pageSize?: number;', 'search?: string;'],
806
813
  response: "{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }[]",
807
- markdown: "## list\n\n`client.domains.list(archived?: boolean, page?: number, pageSize?: number, search?: string): object[]`\n\n**get** `/domains`\n\nRetrieve a list of domains associated with the authenticated workspace.\n\n### Parameters\n\n- `archived?: boolean`\n Whether to include archived domains in the response. Defaults to `false` if not provided.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `search?: string`\n The search term to filter the domains by.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst domains = await client.domains.list();\n\nconsole.log(domains);\n```",
814
+ markdown: "## list\n\n`client.domains.list(archived?: boolean, page?: number, pageSize?: number, search?: string): object[]`\n\n**get** `/domains`\n\nRetrieve a list of domains associated with the authenticated workspace.\n\n### Parameters\n\n- `archived?: boolean`\n Whether to include archived domains in the response. Defaults to `false` if not provided.\n\n- `page?: number`\n The page number for pagination.\n\n- `pageSize?: number`\n The number of items per page.\n\n- `search?: string`\n The search term to filter the domains by.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst domains = await client.domains.list();\n\nconsole.log(domains);\n```",
808
815
  perLanguage: {
809
816
  typescript: {
810
817
  method: 'client.domains.list',
811
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domains = await client.domains.list();\n\nconsole.log(domains);",
818
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domains = await client.domains.list();\n\nconsole.log(domains);",
812
819
  },
813
820
  http: {
814
821
  example: 'curl https://api.codeqr.io/domains \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -833,11 +840,11 @@ const EMBEDDED_METHODS = [
833
840
  "type?: 'redirect' | 'rewrite';",
834
841
  ],
835
842
  response: "{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }",
836
- markdown: "## update\n\n`client.domains.update(slug: string, archived?: boolean, expiredUrl?: string, placeholder?: string, slug?: string, target?: string, type?: 'redirect' | 'rewrite'): { id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n**patch** `/domains/{slug}`\n\nUpdate a domain for the authenticated workspace.\n\n### Parameters\n\n- `slug: string`\n The domain name.\n\n- `archived?: boolean`\n Whether to archive this domain. `false` will unarchive a previously archived domain.\n\n- `expiredUrl?: string`\n Redirect users to a specific URL when any link under this domain has expired.\n\n- `placeholder?: string`\n Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.\n\n- `slug?: string`\n Name of the domain.\n\n- `target?: string`\n The target URL to redirect to when accessing the domain root.\n\n- `type?: 'redirect' | 'rewrite'`\n The behavior type for the domain root redirect.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n - `id: string`\n - `archived: boolean`\n - `createdAt: string`\n - `expiredUrl: string`\n - `placeholder: string`\n - `primary: boolean`\n - `slug: string`\n - `target: string`\n - `type: 'redirect' | 'rewrite'`\n - `updatedAt: string`\n - `verified: boolean`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst domain = await client.domains.update('acme.com');\n\nconsole.log(domain);\n```",
843
+ markdown: "## update\n\n`client.domains.update(slug: string, archived?: boolean, expiredUrl?: string, placeholder?: string, slug?: string, target?: string, type?: 'redirect' | 'rewrite'): { id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n**patch** `/domains/{slug}`\n\nUpdate a domain for the authenticated workspace.\n\n### Parameters\n\n- `slug: string`\n The domain name.\n\n- `archived?: boolean`\n Whether to archive this domain. `false` will unarchive a previously archived domain.\n\n- `expiredUrl?: string`\n Redirect users to a specific URL when any link under this domain has expired.\n\n- `placeholder?: string`\n Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.\n\n- `slug?: string`\n Name of the domain.\n\n- `target?: string`\n The target URL to redirect to when accessing the domain root.\n\n- `type?: 'redirect' | 'rewrite'`\n The behavior type for the domain root redirect.\n\n### Returns\n\n- `{ id: string; archived: boolean; createdAt: string; expiredUrl: string; placeholder: string; primary: boolean; slug: string; target: string; type: 'redirect' | 'rewrite'; updatedAt: string; verified: boolean; }`\n\n - `id: string`\n - `archived: boolean`\n - `createdAt: string`\n - `expiredUrl: string`\n - `placeholder: string`\n - `primary: boolean`\n - `slug: string`\n - `target: string`\n - `type: 'redirect' | 'rewrite'`\n - `updatedAt: string`\n - `verified: boolean`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst domain = await client.domains.update('acme.com');\n\nconsole.log(domain);\n```",
837
844
  perLanguage: {
838
845
  typescript: {
839
846
  method: 'client.domains.update',
840
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.update('acme.com');\n\nconsole.log(domain.id);",
847
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.update('acme.com');\n\nconsole.log(domain.id);",
841
848
  },
842
849
  http: {
843
850
  example: 'curl https://api.codeqr.io/domains/$SLUG \\\n -X PATCH \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -854,11 +861,11 @@ const EMBEDDED_METHODS = [
854
861
  qualified: 'client.domains.delete',
855
862
  params: ['slug: string;'],
856
863
  response: '{ slug: string; }',
857
- markdown: "## delete\n\n`client.domains.delete(slug: string): { slug: string; }`\n\n**delete** `/domains/{slug}`\n\nDelete a domain from a workspace. It cannot be undone. This will also delete all the links associated with the domain.\n\n### Parameters\n\n- `slug: string`\n The domain name.\n\n### Returns\n\n- `{ slug: string; }`\n\n - `slug: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst domain = await client.domains.delete('acme.com');\n\nconsole.log(domain);\n```",
864
+ markdown: "## delete\n\n`client.domains.delete(slug: string): { slug: string; }`\n\n**delete** `/domains/{slug}`\n\nDelete a domain from a workspace. It cannot be undone. This will also delete all the links associated with the domain.\n\n### Parameters\n\n- `slug: string`\n The domain name.\n\n### Returns\n\n- `{ slug: string; }`\n\n - `slug: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst domain = await client.domains.delete('acme.com');\n\nconsole.log(domain);\n```",
858
865
  perLanguage: {
859
866
  typescript: {
860
867
  method: 'client.domains.delete',
861
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.delete('acme.com');\n\nconsole.log(domain.slug);",
868
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst domain = await client.domains.delete('acme.com');\n\nconsole.log(domain.slug);",
862
869
  },
863
870
  http: {
864
871
  example: 'curl https://api.codeqr.io/domains/$SLUG \\\n -X DELETE \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -880,16 +887,17 @@ const EMBEDDED_METHODS = [
880
887
  'customerAvatar?: string;',
881
888
  'customerEmail?: string;',
882
889
  'customerName?: string;',
890
+ 'eventId?: string;',
883
891
  'eventQuantity?: number;',
884
892
  'metadata?: object;',
885
893
  "mode?: 'async' | 'wait' | 'deferred';",
886
894
  ],
887
895
  response: '{ click: { id: string; }; customer: { id: string; avatar?: string; email?: string; name?: string; }; }',
888
- markdown: "## track_lead\n\n`client.track.trackLead(clickId: string, customerExternalId: string, eventName: string, customerAvatar?: string, customerEmail?: string, customerName?: string, eventQuantity?: number, metadata?: object, mode?: 'async' | 'wait' | 'deferred'): { click: object; customer: object; }`\n\n**post** `/track/lead`\n\nTrack a lead for a short link.\n\n### Parameters\n\n- `clickId: string`\n The unique ID of the click that the lead conversion event is attributed to. You can read this value from `cq_id` cookie. If an empty string is provided, CodeQR will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.\n\n- `customerExternalId: string`\n The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.\n\n- `eventName: string`\n The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the `leadEventName` prop in `/track/sale`).\n\n- `customerAvatar?: string`\n The avatar URL of the customer.\n\n- `customerEmail?: string`\n The email address of the customer.\n\n- `customerName?: string`\n The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).\n\n- `eventQuantity?: number`\n The numerical value associated with this lead event (e.g., number of provisioned seats in a free trial). If defined as N, the lead event will be tracked N times.\n\n- `metadata?: object`\n Additional metadata to be stored with the lead event. Max 10,000 characters.\n\n- `mode?: 'async' | 'wait' | 'deferred'`\n The mode to use for tracking the lead event. `async` will not block the request; `wait` will block the request until the lead event is fully recorded in CodeQR; `deferred` will defer the lead event creation to a subsequent request.\n\n### Returns\n\n- `{ click: { id: string; }; customer: { id: string; avatar?: string; email?: string; name?: string; }; }`\n\n - `click: { id: string; }`\n - `customer: { id: string; avatar?: string; email?: string; name?: string; }`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst response = await client.track.trackLead({\n clickId: 'clickId',\n customerExternalId: 'x',\n eventName: 'Sign up',\n});\n\nconsole.log(response);\n```",
896
+ markdown: "## track_lead\n\n`client.track.trackLead(clickId: string, customerExternalId: string, eventName: string, customerAvatar?: string, customerEmail?: string, customerName?: string, eventId?: string, eventQuantity?: number, metadata?: object, mode?: 'async' | 'wait' | 'deferred'): { click: object; customer: object; }`\n\n**post** `/track/lead`\n\nTrack a lead for a short link.\n\n### Parameters\n\n- `clickId: string`\n The unique ID of the click that the lead conversion event is attributed to. You can read this value from `cq_id` cookie. If an empty string is provided, CodeQR will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.\n\n- `customerExternalId: string`\n The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.\n\n- `eventName: string`\n The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the `leadEventName` prop in `/track/sale`).\n\n- `customerAvatar?: string`\n The avatar URL of the customer.\n\n- `customerEmail?: string`\n The email address of the customer.\n\n- `customerName?: string`\n The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).\n\n- `eventId?: string`\n Deduplication key shared with your own browser pixel. When your site also fires a Meta or TikTok pixel for this conversion, pass the same event id here so the platform counts it once.\n\n- `eventQuantity?: number`\n The numerical value associated with this lead event (e.g., number of provisioned seats in a free trial). If defined as N, the lead event will be tracked N times.\n\n- `metadata?: object`\n Additional metadata to be stored with the lead event. Max 10,000 characters.\n\n- `mode?: 'async' | 'wait' | 'deferred'`\n The mode to use for tracking the lead event. `async` will not block the request; `wait` will block the request until the lead event is fully recorded in CodeQR; `deferred` will defer the lead event creation to a subsequent request.\n\n### Returns\n\n- `{ click: { id: string; }; customer: { id: string; avatar?: string; email?: string; name?: string; }; }`\n\n - `click: { id: string; }`\n - `customer: { id: string; avatar?: string; email?: string; name?: string; }`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst response = await client.track.trackLead({\n clickId: 'clickId',\n customerExternalId: 'x',\n eventName: 'Sign up',\n});\n\nconsole.log(response);\n```",
889
897
  perLanguage: {
890
898
  typescript: {
891
899
  method: 'client.track.trackLead',
892
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.track.trackLead({\n clickId: 'clickId',\n customerExternalId: 'x',\n eventName: 'Sign up',\n});\n\nconsole.log(response.click);",
900
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.track.trackLead({\n clickId: 'clickId',\n customerExternalId: 'x',\n eventName: 'Sign up',\n});\n\nconsole.log(response.click);",
893
901
  },
894
902
  http: {
895
903
  example: 'curl https://api.codeqr.io/track/lead \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "clickId": "clickId",\n "customerExternalId": "x",\n "eventName": "Sign up"\n }\'',
@@ -912,6 +920,7 @@ const EMBEDDED_METHODS = [
912
920
  'customerAvatar?: string;',
913
921
  'customerEmail?: string;',
914
922
  'customerName?: string;',
923
+ 'eventId?: string;',
915
924
  'eventName?: string;',
916
925
  'invoiceId?: string;',
917
926
  'leadEventName?: string;',
@@ -919,11 +928,11 @@ const EMBEDDED_METHODS = [
919
928
  "paymentProcessor?: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual';",
920
929
  ],
921
930
  response: '{ amount: number; currency: string; customerId: string; eventName: string; invoiceId: string; metadata: object; paymentProcessor: string; }',
922
- markdown: "## track_sale\n\n`client.track.trackSale(amount: number, customerExternalId: string, clickId?: string, currency?: string, customerAvatar?: string, customerEmail?: string, customerName?: string, eventName?: string, invoiceId?: string, leadEventName?: string, metadata?: object, paymentProcessor?: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual'): { amount: number; currency: string; customerId: string; eventName: string; invoiceId: string; metadata: object; paymentProcessor: string; }`\n\n**post** `/track/sale`\n\nTrack a sale for a short link.\n\n### Parameters\n\n- `amount: number`\n The amount of the sale in the smallest unit of `currency` — cents for two-decimal currencies, the full integer for zero-decimal ones (e.g. `1437` JPY), thousandths for three-decimal ones (e.g. `1437` KWD fils).\n\n- `customerExternalId: string`\n The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.\n\n- `clickId?: string`\n [For direct sale tracking]: The unique ID of the click that the sale conversion event is attributed to. You can read this value from `cq_id` cookie.\n\n- `currency?: string`\n The currency of the sale, as an ISO 4217 code. Reporting is always in USD: non-USD sales are converted at the exchange rate of the day the sale is recorded, and the original amount and currency are kept on the event. The rate is not re-applied later, so reported totals do not move with the exchange rate.\n\n- `customerAvatar?: string`\n [For direct sale tracking]: The avatar URL of the customer.\n\n- `customerEmail?: string`\n [For direct sale tracking]: The email address of the customer.\n\n- `customerName?: string`\n [For direct sale tracking]: The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).\n\n- `eventName?: string`\n The name of the sale event. Recommended format: `Invoice paid` or `Subscription created`.\n\n- `invoiceId?: string`\n The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID.\n\n- `leadEventName?: string`\n The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior). For direct sale tracking, this field can also be used to specify the lead event name.\n\n- `metadata?: object`\n Additional metadata to be stored with the sale event. Max 10,000 characters when stringified.\n\n- `paymentProcessor?: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual'`\n The payment processor via which the sale was made.\n\n### Returns\n\n- `{ amount: number; currency: string; customerId: string; eventName: string; invoiceId: string; metadata: object; paymentProcessor: string; }`\n\n - `amount: number`\n - `currency: string`\n - `customerId: string`\n - `eventName: string`\n - `invoiceId: string`\n - `metadata: object`\n - `paymentProcessor: string`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst response = await client.track.trackSale({ amount: 0, customerExternalId: 'x' });\n\nconsole.log(response);\n```",
931
+ markdown: "## track_sale\n\n`client.track.trackSale(amount: number, customerExternalId: string, clickId?: string, currency?: string, customerAvatar?: string, customerEmail?: string, customerName?: string, eventId?: string, eventName?: string, invoiceId?: string, leadEventName?: string, metadata?: object, paymentProcessor?: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual'): { amount: number; currency: string; customerId: string; eventName: string; invoiceId: string; metadata: object; paymentProcessor: string; }`\n\n**post** `/track/sale`\n\nTrack a sale for a short link.\n\n### Parameters\n\n- `amount: number`\n The amount of the sale in the smallest unit of `currency` — cents for two-decimal currencies, the full integer for zero-decimal ones (e.g. `1437` JPY), thousandths for three-decimal ones (e.g. `1437` KWD fils).\n\n- `customerExternalId: string`\n The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.\n\n- `clickId?: string`\n [For direct sale tracking]: The unique ID of the click that the sale conversion event is attributed to. You can read this value from `cq_id` cookie.\n\n- `currency?: string`\n The currency of the sale, as an ISO 4217 code. Reporting is always in USD: non-USD sales are converted at the exchange rate of the day the sale is recorded, and the original amount and currency are kept on the event. The rate is not re-applied later, so reported totals do not move with the exchange rate.\n\n- `customerAvatar?: string`\n [For direct sale tracking]: The avatar URL of the customer.\n\n- `customerEmail?: string`\n [For direct sale tracking]: The email address of the customer.\n\n- `customerName?: string`\n [For direct sale tracking]: The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).\n\n- `eventId?: string`\n Deduplication key shared with your own browser pixel. When your site also fires a Meta or TikTok pixel for this conversion, pass the same event id here so the platform counts it once.\n\n- `eventName?: string`\n The name of the sale event. Recommended format: `Invoice paid` or `Subscription created`.\n\n- `invoiceId?: string`\n The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID.\n\n- `leadEventName?: string`\n The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior). For direct sale tracking, this field can also be used to specify the lead event name.\n\n- `metadata?: object`\n Additional metadata to be stored with the sale event. Max 10,000 characters when stringified.\n\n- `paymentProcessor?: 'stripe' | 'shopify' | 'polar' | 'paddle' | 'revenuecat' | 'custom' | 'manual'`\n The payment processor via which the sale was made.\n\n### Returns\n\n- `{ amount: number; currency: string; customerId: string; eventName: string; invoiceId: string; metadata: object; paymentProcessor: string; }`\n\n - `amount: number`\n - `currency: string`\n - `customerId: string`\n - `eventName: string`\n - `invoiceId: string`\n - `metadata: object`\n - `paymentProcessor: string`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst response = await client.track.trackSale({ amount: 0, customerExternalId: 'x' });\n\nconsole.log(response);\n```",
923
932
  perLanguage: {
924
933
  typescript: {
925
934
  method: 'client.track.trackSale',
926
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.track.trackSale({ amount: 0, customerExternalId: 'x' });\n\nconsole.log(response.amount);",
935
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.track.trackSale({ amount: 0, customerExternalId: 'x' });\n\nconsole.log(response.amount);",
927
936
  },
928
937
  http: {
929
938
  example: 'curl https://api.codeqr.io/track/sale \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $CODEQR_API_KEY" \\\n -d \'{\n "amount": 0,\n "customerExternalId": "x",\n "eventName": "Invoice paid",\n "leadEventName": "Cloned template 1481267"\n }\'',
@@ -939,11 +948,11 @@ const EMBEDDED_METHODS = [
939
948
  stainlessPath: '(resource) projects > (method) list',
940
949
  qualified: 'client.projects.list',
941
950
  response: "{ id: string; billingCycleStart: number; createdAt: string; domains: { slug: string; }[]; domainsLimit: number; linksLimit: number; linksUsage: number; logo: string; metadata: { defaultDomains: string[]; }; name: string; plan: 'free' | 'starter' | 'pro' | 'business' | 'scale' | 'enterprise'; slug: string; stripeConnectId: string; stripeId: string; tagsLimit: number; usage: number; usageLimit: number; users: { role: 'owner' | 'member'; }[]; usersLimit: number; }[]",
942
- markdown: "## list\n\n`client.projects.list(): object[]`\n\n**get** `/projects`\n\nRetrieve a list of projects for the authenticated user.\n\n### Returns\n\n- `{ id: string; billingCycleStart: number; createdAt: string; domains: { slug: string; }[]; domainsLimit: number; linksLimit: number; linksUsage: number; logo: string; metadata: { defaultDomains: string[]; }; name: string; plan: 'free' | 'starter' | 'pro' | 'business' | 'scale' | 'enterprise'; slug: string; stripeConnectId: string; stripeId: string; tagsLimit: number; usage: number; usageLimit: number; users: { role: 'owner' | 'member'; }[]; usersLimit: number; }[]`\n\n### Example\n\n```typescript\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr();\n\nconst projects = await client.projects.list();\n\nconsole.log(projects);\n```",
951
+ markdown: "## list\n\n`client.projects.list(): object[]`\n\n**get** `/projects`\n\nRetrieve a list of projects for the authenticated user.\n\n### Returns\n\n- `{ id: string; billingCycleStart: number; createdAt: string; domains: { slug: string; }[]; domainsLimit: number; linksLimit: number; linksUsage: number; logo: string; metadata: { defaultDomains: string[]; }; name: string; plan: 'free' | 'starter' | 'pro' | 'business' | 'scale' | 'enterprise'; slug: string; stripeConnectId: string; stripeId: string; tagsLimit: number; usage: number; usageLimit: number; users: { role: 'owner' | 'member'; }[]; usersLimit: number; }[]`\n\n### Example\n\n```typescript\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR();\n\nconst projects = await client.projects.list();\n\nconsole.log(projects);\n```",
943
952
  perLanguage: {
944
953
  typescript: {
945
954
  method: 'client.projects.list',
946
- example: "import Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst projects = await client.projects.list();\n\nconsole.log(projects);",
955
+ example: "import CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst projects = await client.projects.list();\n\nconsole.log(projects);",
947
956
  },
948
957
  http: {
949
958
  example: 'curl https://api.codeqr.io/projects \\\n -H "Authorization: Bearer $CODEQR_API_KEY"',
@@ -954,7 +963,7 @@ const EMBEDDED_METHODS = [
954
963
  const EMBEDDED_READMES = [
955
964
  {
956
965
  language: 'typescript',
957
- content: "# Codeqr TypeScript API Library\n\n[![NPM version](https://img.shields.io/npm/v/@codeqr/ts.svg?label=npm%20(stable))](https://npmjs.org/package/@codeqr/ts) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@codeqr/ts)\n\nThis library provides convenient access to the Codeqr REST API from server-side TypeScript or JavaScript.\n\n\n\nThe REST API documentation can be found on [codeqr.io](https://codeqr.io/api). The full API of this library can be found in [api.md](api.md).\n\nIt is generated with [Stainless](https://www.stainless.com/).\n\n## MCP Server\n\nUse the Codeqr MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.\n\n[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40codeqr%2Fts-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjb2RlcXIvdHMtbWNwIl0sImVudiI6eyJDT0RFUVJfQVBJX0tFWSI6Ik15IEFQSSBLZXkifX0)\n[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40codeqr%2Fts-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40codeqr%2Fts-mcp%22%5D%2C%22env%22%3A%7B%22CODEQR_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)\n\n> Note: You may need to set environment variables in your MCP client.\n\n## Installation\n\n```sh\nnpm install @codeqr/ts\n```\n\n\n\n## Usage\n\nThe full API of this library can be found in [api.md](api.md).\n\n<!-- prettier-ignore -->\n```js\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.create({ url: 'REPLACE_ME' });\n\nconsole.log(link.id);\n```\n\n\n\n### Request & Response types\n\nThis library includes TypeScript definitions for all request params and response fields. You may import and use them like so:\n\n<!-- prettier-ignore -->\n```ts\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst params: Codeqr.LinkCreateParams = { url: 'REPLACE_ME' };\nconst link: Codeqr.Link = await client.links.create(params);\n```\n\nDocumentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.\n\n\n\n\n\n## Handling errors\n\nWhen the library is unable to connect to the API,\nor if the API returns a non-success status code (i.e., 4xx or 5xx response),\na subclass of `APIError` will be thrown:\n\n<!-- prettier-ignore -->\n```ts\nconst link = await client.links.create({ url: 'REPLACE_ME' }).catch(async (err) => {\n if (err instanceof Codeqr.APIError) {\n console.log(err.status); // 400\n console.log(err.name); // BadRequestError\n console.log(err.headers); // {server: 'nginx', ...}\n } else {\n throw err;\n }\n});\n```\n\nError codes are as follows:\n\n| Status Code | Error Type |\n| ----------- | -------------------------- |\n| 400 | `BadRequestError` |\n| 401 | `AuthenticationError` |\n| 403 | `PermissionDeniedError` |\n| 404 | `NotFoundError` |\n| 422 | `UnprocessableEntityError` |\n| 429 | `RateLimitError` |\n| >=500 | `InternalServerError` |\n| N/A | `APIConnectionError` |\n\n### Retries\n\nCertain errors will be automatically retried 2 times by default, with a short exponential backoff.\nConnection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,\n429 Rate Limit, and >=500 Internal errors will all be retried by default.\n\nYou can use the `maxRetries` option to configure or disable this:\n\n<!-- prettier-ignore -->\n```js\n// Configure the default for all requests:\nconst client = new Codeqr({\n maxRetries: 0, // default is 2\n});\n\n// Or, configure per-request:\nawait client.links.create({ url: 'REPLACE_ME' }, {\n maxRetries: 5,\n});\n```\n\n### Timeouts\n\nRequests time out after 1 minute by default. You can configure this with a `timeout` option:\n\n<!-- prettier-ignore -->\n```ts\n// Configure the default for all requests:\nconst client = new Codeqr({\n timeout: 20 * 1000, // 20 seconds (default is 1 minute)\n});\n\n// Override per-request:\nawait client.links.create({ url: 'REPLACE_ME' }, {\n timeout: 5 * 1000,\n});\n```\n\nOn timeout, an `APIConnectionTimeoutError` is thrown.\n\nNote that requests which time out will be [retried twice by default](#retries).\n\n\n\n\n\n## Advanced Usage\n\n### Accessing raw Response data (e.g., headers)\n\nThe \"raw\" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.\nThis method returns as soon as the headers for a successful response are received and does not consume the response body, so you are free to write custom parsing or streaming logic.\n\nYou can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.\nUnlike `.asResponse()` this method consumes the body, returning once it is parsed.\n\n<!-- prettier-ignore -->\n```ts\nconst client = new Codeqr();\n\nconst response = await client.links.create({ url: 'REPLACE_ME' }).asResponse();\nconsole.log(response.headers.get('X-My-Header'));\nconsole.log(response.statusText); // access the underlying Response object\n\nconst { data: link, response: raw } = await client.links\n .create({ url: 'REPLACE_ME' })\n .withResponse();\nconsole.log(raw.headers.get('X-My-Header'));\nconsole.log(link.id);\n```\n\n### Logging\n\n> [!IMPORTANT]\n> All log messages are intended for debugging only. The format and content of log messages\n> may change between releases.\n\n#### Log levels\n\nThe log level can be configured in two ways:\n\n1. Via the `CODEQR_LOG` environment variable\n2. Using the `logLevel` client option (overrides the environment variable if set)\n\n```ts\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n logLevel: 'debug', // Show all log messages\n});\n```\n\nAvailable log levels, from most to least verbose:\n\n- `'debug'` - Show debug messages, info, warnings, and errors\n- `'info'` - Show info messages, warnings, and errors\n- `'warn'` - Show warnings and errors (default)\n- `'error'` - Show only errors\n- `'off'` - Disable all logging\n\nAt the `'debug'` level, all HTTP requests and responses are logged, including headers and bodies.\nSome authentication-related headers are redacted, but sensitive data in request and response bodies\nmay still be visible.\n\n#### Custom logger\n\nBy default, this library logs to `globalThis.console`. You can also provide a custom logger.\nMost logging libraries are supported, including [pino](https://www.npmjs.com/package/pino), [winston](https://www.npmjs.com/package/winston), [bunyan](https://www.npmjs.com/package/bunyan), [consola](https://www.npmjs.com/package/consola), [signale](https://www.npmjs.com/package/signale), and [@std/log](https://jsr.io/@std/log). If your logger doesn't work, please open an issue.\n\nWhen providing a custom logger, the `logLevel` option still controls which messages are emitted, messages\nbelow the configured level will not be sent to your logger.\n\n```ts\nimport Codeqr from '@codeqr/ts';\nimport pino from 'pino';\n\nconst logger = pino();\n\nconst client = new Codeqr({\n logger: logger.child({ name: 'Codeqr' }),\n logLevel: 'debug', // Send all messages to pino, allowing it to filter\n});\n```\n\n### Making custom/undocumented requests\n\nThis library is typed for convenient access to the documented API. If you need to access undocumented\nendpoints, params, or response properties, the library can still be used.\n\n#### Undocumented endpoints\n\nTo make requests to undocumented endpoints, you can use `client.get`, `client.post`, and other HTTP verbs.\nOptions on the client, such as retries, will be respected when making these requests.\n\n```ts\nawait client.post('/some/path', {\n body: { some_prop: 'foo' },\n query: { some_query_arg: 'bar' },\n});\n```\n\n#### Undocumented request params\n\nTo make requests using undocumented parameters, you may use `// @ts-expect-error` on the undocumented\nparameter. This library doesn't validate at runtime that the request matches the type, so any extra values you\nsend will be sent as-is.\n\n```ts\nclient.links.create({\n // ...\n // @ts-expect-error baz is not yet public\n baz: 'undocumented option',\n});\n```\n\nFor requests with the `GET` verb, any extra params will be in the query, all other requests will send the\nextra param in the body.\n\nIf you want to explicitly send an extra argument, you can do so with the `query`, `body`, and `headers` request\noptions.\n\n#### Undocumented response properties\n\nTo access undocumented response properties, you may access the response object with `// @ts-expect-error` on\nthe response object, or cast the response object to the requisite type. Like the request params, we do not\nvalidate or strip extra properties from the response from the API.\n\n### Customizing the fetch client\n\nBy default, this library expects a global `fetch` function is defined.\n\nIf you want to use a different `fetch` function, you can either polyfill the global:\n\n```ts\nimport fetch from 'my-fetch';\n\nglobalThis.fetch = fetch;\n```\n\nOr pass it to the client:\n\n```ts\nimport Codeqr from '@codeqr/ts';\nimport fetch from 'my-fetch';\n\nconst client = new Codeqr({ fetch });\n```\n\n### Fetch options\n\nIf you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)\n\n```ts\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n fetchOptions: {\n // `RequestInit` options\n },\n});\n```\n\n#### Configuring proxies\n\nTo modify proxy behavior, you can provide custom `fetchOptions` that add runtime-specific proxy\noptions to requests:\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/node.svg\" align=\"top\" width=\"18\" height=\"21\"> **Node** <sup>[[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]</sup>\n\n```ts\nimport Codeqr from '@codeqr/ts';\nimport * as undici from 'undici';\n\nconst proxyAgent = new undici.ProxyAgent('http://localhost:8888');\nconst client = new Codeqr({\n fetchOptions: {\n dispatcher: proxyAgent,\n },\n});\n```\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/bun.svg\" align=\"top\" width=\"18\" height=\"21\"> **Bun** <sup>[[docs](https://bun.sh/guides/http/proxy)]</sup>\n\n```ts\nimport Codeqr from '@codeqr/ts';\n\nconst client = new Codeqr({\n fetchOptions: {\n proxy: 'http://localhost:8888',\n },\n});\n```\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/deno.svg\" align=\"top\" width=\"18\" height=\"21\"> **Deno** <sup>[[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]</sup>\n\n```ts\nimport Codeqr from 'npm:@codeqr/ts';\n\nconst httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });\nconst client = new Codeqr({\n fetchOptions: {\n client: httpClient,\n },\n});\n```\n\n## Frequently Asked Questions\n\n## Semantic versioning\n\nThis package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:\n\n1. Changes that only affect static types, without breaking runtime behavior.\n2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_\n3. Changes that we do not expect to impact the vast majority of users in practice.\n\nWe take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.\n\nWe are keen for your feedback; please open an [issue](https://www.github.com/codeqr-io/codeqr-ts/issues) with questions, bugs, or suggestions.\n\n## Requirements\n\nTypeScript >= 4.9 is supported.\n\nThe following runtimes are supported:\n\n- Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)\n- Node.js 20 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.\n- Deno v1.28.0 or higher.\n- Bun 1.0 or later.\n- Cloudflare Workers.\n- Vercel Edge Runtime.\n- Jest 28 or greater with the `\"node\"` environment (`\"jsdom\"` is not supported at this time).\n- Nitro v2.6 or greater.\n\nNote that React Native is not supported at this time.\n\nIf you are interested in other runtime environments, please open or upvote an issue on GitHub.\n\n## Contributing\n\nSee [the contributing documentation](./CONTRIBUTING.md).\n",
966
+ content: "# CodeQR TypeScript API Library\n\n[![NPM version](https://img.shields.io/npm/v/@codeqr/ts.svg?label=npm%20(stable))](https://npmjs.org/package/@codeqr/ts) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@codeqr/ts)\n\nThis library provides convenient access to the CodeQR REST API from server-side TypeScript or JavaScript.\n\n\n\nThe REST API documentation can be found on [codeqr.io](https://codeqr.io/api). The full API of this library can be found in [api.md](api.md).\n\nIt is generated with [Stainless](https://www.stainless.com/).\n\n## MCP Server\n\nUse the CodeQR MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.\n\n[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40codeqr%2Fts-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjb2RlcXIvdHMtbWNwIl0sImVudiI6eyJDT0RFUVJfQVBJX0tFWSI6Ik15IEFQSSBLZXkifX0)\n[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40codeqr%2Fts-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40codeqr%2Fts-mcp%22%5D%2C%22env%22%3A%7B%22CODEQR_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)\n\n> Note: You may need to set environment variables in your MCP client.\n\n## Installation\n\n```sh\nnpm install @codeqr/ts\n```\n\n\n\n## Usage\n\nThe full API of this library can be found in [api.md](api.md).\n\n<!-- prettier-ignore -->\n```js\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst link = await client.links.create({ url: 'REPLACE_ME' });\n\nconsole.log(link.id);\n```\n\n\n\n### Request & Response types\n\nThis library includes TypeScript definitions for all request params and response fields. You may import and use them like so:\n\n<!-- prettier-ignore -->\n```ts\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n apiKey: process.env['CODEQR_API_KEY'], // This is the default and can be omitted\n});\n\nconst params: CodeQR.LinkCreateParams = { url: 'REPLACE_ME' };\nconst link: CodeQR.Link = await client.links.create(params);\n```\n\nDocumentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.\n\n\n\n\n\n## Handling errors\n\nWhen the library is unable to connect to the API,\nor if the API returns a non-success status code (i.e., 4xx or 5xx response),\na subclass of `APIError` will be thrown:\n\n<!-- prettier-ignore -->\n```ts\nconst link = await client.links.create({ url: 'REPLACE_ME' }).catch(async (err) => {\n if (err instanceof CodeQR.APIError) {\n console.log(err.status); // 400\n console.log(err.name); // BadRequestError\n console.log(err.headers); // {server: 'nginx', ...}\n } else {\n throw err;\n }\n});\n```\n\nError codes are as follows:\n\n| Status Code | Error Type |\n| ----------- | -------------------------- |\n| 400 | `BadRequestError` |\n| 401 | `AuthenticationError` |\n| 403 | `PermissionDeniedError` |\n| 404 | `NotFoundError` |\n| 422 | `UnprocessableEntityError` |\n| 429 | `RateLimitError` |\n| >=500 | `InternalServerError` |\n| N/A | `APIConnectionError` |\n\n### Retries\n\nCertain errors will be automatically retried 2 times by default, with a short exponential backoff.\nConnection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,\n429 Rate Limit, and >=500 Internal errors will all be retried by default.\n\nYou can use the `maxRetries` option to configure or disable this:\n\n<!-- prettier-ignore -->\n```js\n// Configure the default for all requests:\nconst client = new CodeQR({\n maxRetries: 0, // default is 2\n});\n\n// Or, configure per-request:\nawait client.links.create({ url: 'REPLACE_ME' }, {\n maxRetries: 5,\n});\n```\n\n### Timeouts\n\nRequests time out after 1 minute by default. You can configure this with a `timeout` option:\n\n<!-- prettier-ignore -->\n```ts\n// Configure the default for all requests:\nconst client = new CodeQR({\n timeout: 20 * 1000, // 20 seconds (default is 1 minute)\n});\n\n// Override per-request:\nawait client.links.create({ url: 'REPLACE_ME' }, {\n timeout: 5 * 1000,\n});\n```\n\nOn timeout, an `APIConnectionTimeoutError` is thrown.\n\nNote that requests which time out will be [retried twice by default](#retries).\n\n\n\n\n\n## Advanced Usage\n\n### Accessing raw Response data (e.g., headers)\n\nThe \"raw\" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.\nThis method returns as soon as the headers for a successful response are received and does not consume the response body, so you are free to write custom parsing or streaming logic.\n\nYou can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.\nUnlike `.asResponse()` this method consumes the body, returning once it is parsed.\n\n<!-- prettier-ignore -->\n```ts\nconst client = new CodeQR();\n\nconst response = await client.links.create({ url: 'REPLACE_ME' }).asResponse();\nconsole.log(response.headers.get('X-My-Header'));\nconsole.log(response.statusText); // access the underlying Response object\n\nconst { data: link, response: raw } = await client.links\n .create({ url: 'REPLACE_ME' })\n .withResponse();\nconsole.log(raw.headers.get('X-My-Header'));\nconsole.log(link.id);\n```\n\n### Logging\n\n> [!IMPORTANT]\n> All log messages are intended for debugging only. The format and content of log messages\n> may change between releases.\n\n#### Log levels\n\nThe log level can be configured in two ways:\n\n1. Via the `CODEQR_LOG` environment variable\n2. Using the `logLevel` client option (overrides the environment variable if set)\n\n```ts\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n logLevel: 'debug', // Show all log messages\n});\n```\n\nAvailable log levels, from most to least verbose:\n\n- `'debug'` - Show debug messages, info, warnings, and errors\n- `'info'` - Show info messages, warnings, and errors\n- `'warn'` - Show warnings and errors (default)\n- `'error'` - Show only errors\n- `'off'` - Disable all logging\n\nAt the `'debug'` level, all HTTP requests and responses are logged, including headers and bodies.\nSome authentication-related headers are redacted, but sensitive data in request and response bodies\nmay still be visible.\n\n#### Custom logger\n\nBy default, this library logs to `globalThis.console`. You can also provide a custom logger.\nMost logging libraries are supported, including [pino](https://www.npmjs.com/package/pino), [winston](https://www.npmjs.com/package/winston), [bunyan](https://www.npmjs.com/package/bunyan), [consola](https://www.npmjs.com/package/consola), [signale](https://www.npmjs.com/package/signale), and [@std/log](https://jsr.io/@std/log). If your logger doesn't work, please open an issue.\n\nWhen providing a custom logger, the `logLevel` option still controls which messages are emitted, messages\nbelow the configured level will not be sent to your logger.\n\n```ts\nimport CodeQR from '@codeqr/ts';\nimport pino from 'pino';\n\nconst logger = pino();\n\nconst client = new CodeQR({\n logger: logger.child({ name: 'CodeQR' }),\n logLevel: 'debug', // Send all messages to pino, allowing it to filter\n});\n```\n\n### Making custom/undocumented requests\n\nThis library is typed for convenient access to the documented API. If you need to access undocumented\nendpoints, params, or response properties, the library can still be used.\n\n#### Undocumented endpoints\n\nTo make requests to undocumented endpoints, you can use `client.get`, `client.post`, and other HTTP verbs.\nOptions on the client, such as retries, will be respected when making these requests.\n\n```ts\nawait client.post('/some/path', {\n body: { some_prop: 'foo' },\n query: { some_query_arg: 'bar' },\n});\n```\n\n#### Undocumented request params\n\nTo make requests using undocumented parameters, you may use `// @ts-expect-error` on the undocumented\nparameter. This library doesn't validate at runtime that the request matches the type, so any extra values you\nsend will be sent as-is.\n\n```ts\nclient.links.create({\n // ...\n // @ts-expect-error baz is not yet public\n baz: 'undocumented option',\n});\n```\n\nFor requests with the `GET` verb, any extra params will be in the query, all other requests will send the\nextra param in the body.\n\nIf you want to explicitly send an extra argument, you can do so with the `query`, `body`, and `headers` request\noptions.\n\n#### Undocumented response properties\n\nTo access undocumented response properties, you may access the response object with `// @ts-expect-error` on\nthe response object, or cast the response object to the requisite type. Like the request params, we do not\nvalidate or strip extra properties from the response from the API.\n\n### Customizing the fetch client\n\nBy default, this library expects a global `fetch` function is defined.\n\nIf you want to use a different `fetch` function, you can either polyfill the global:\n\n```ts\nimport fetch from 'my-fetch';\n\nglobalThis.fetch = fetch;\n```\n\nOr pass it to the client:\n\n```ts\nimport CodeQR from '@codeqr/ts';\nimport fetch from 'my-fetch';\n\nconst client = new CodeQR({ fetch });\n```\n\n### Fetch options\n\nIf you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)\n\n```ts\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n fetchOptions: {\n // `RequestInit` options\n },\n});\n```\n\n#### Configuring proxies\n\nTo modify proxy behavior, you can provide custom `fetchOptions` that add runtime-specific proxy\noptions to requests:\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/node.svg\" align=\"top\" width=\"18\" height=\"21\"> **Node** <sup>[[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]</sup>\n\n```ts\nimport CodeQR from '@codeqr/ts';\nimport * as undici from 'undici';\n\nconst proxyAgent = new undici.ProxyAgent('http://localhost:8888');\nconst client = new CodeQR({\n fetchOptions: {\n dispatcher: proxyAgent,\n },\n});\n```\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/bun.svg\" align=\"top\" width=\"18\" height=\"21\"> **Bun** <sup>[[docs](https://bun.sh/guides/http/proxy)]</sup>\n\n```ts\nimport CodeQR from '@codeqr/ts';\n\nconst client = new CodeQR({\n fetchOptions: {\n proxy: 'http://localhost:8888',\n },\n});\n```\n\n<img src=\"https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/deno.svg\" align=\"top\" width=\"18\" height=\"21\"> **Deno** <sup>[[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]</sup>\n\n```ts\nimport CodeQR from 'npm:@codeqr/ts';\n\nconst httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });\nconst client = new CodeQR({\n fetchOptions: {\n client: httpClient,\n },\n});\n```\n\n## Frequently Asked Questions\n\n## Semantic versioning\n\nThis package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:\n\n1. Changes that only affect static types, without breaking runtime behavior.\n2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_\n3. Changes that we do not expect to impact the vast majority of users in practice.\n\nWe take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.\n\nWe are keen for your feedback; please open an [issue](https://www.github.com/codeqr-io/codeqr-ts/issues) with questions, bugs, or suggestions.\n\n## Requirements\n\nTypeScript >= 4.9 is supported.\n\nThe following runtimes are supported:\n\n- Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)\n- Node.js 20 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.\n- Deno v1.28.0 or higher.\n- Bun 1.0 or later.\n- Cloudflare Workers.\n- Vercel Edge Runtime.\n- Jest 28 or greater with the `\"node\"` environment (`\"jsdom\"` is not supported at this time).\n- Nitro v2.6 or greater.\n\nNote that React Native is not supported at this time.\n\nIf you are interested in other runtime environments, please open or upvote an issue on GitHub.\n\n## Contributing\n\nSee [the contributing documentation](./CONTRIBUTING.md).\n",
958
967
  },
959
968
  ];
960
969
  const INDEX_OPTIONS = {