CodeQR integration
CodeQR is a platform for dynamic QR codes and trackable short links whose destination can be changed after printing. Create (one or up to 100 at a time), list, read, update and delete short links and QR codes (url, text, phone and WhatsApp content), look one up by id, external id or domain and key, read click, scan, lead and sales analytics (totals, time series, top links, countries, devices, referrers) and the raw click and conversion events, record lead and sale conversions, and manage tags, folders, custom domains and read the projects the key can reach. Events and conversions carry visitor and customer personal data. Not exposed: the count routes (bare number answers), the upsert routes (undocumented), and QR codes with structured email, Wi-Fi, vCard, SMS, FaceTime, location, crypto or Pix content (undocumented fields). Link passwords, notification tokens, Stripe ids and the Wi-Fi details of QR codes (network password included, also in the encoded static content) are stripped from answers. Authentication is a project API key (codeqr_...) from Settings > API Keys in the CodeQR app, sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with CodeQR
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Bulk, 4 operations
bulk_create_linksBulk create linksPOSTCreates up to 100 short links in one call and returns them. Each item takes the same fields as create_link (url required).bulk_create_qrcodesBulk create qrcodesPOSTCreates up to 100 QR codes in one call and returns them. Each item takes the same fields as create_qrcode (type required: url, text, phone or whatsapp, with its content).bulk_delete_linksBulk delete linksDELETEDeletes up to 100 short links in one call and returns how many were deleted; ids that do not exist are ignored. The deleted short URLs stop redirecting.bulk_delete_qrcodesBulk delete qrcodesDELETEDeletes up to 100 QR codes in one call and returns how many were deleted; ids that do not exist are ignored. Printed copies of the deleted dynamic QR codes stop redirecting.
Domain, 4 operations
create_domainCreate domainPOSTAdds a custom short-link domain to the project and returns it; it must then be verified with DNS records in the CodeQR app before links on it work.delete_domainDelete domainDELETEDeletes a custom domain from the project. This cannot be undone and also deletes every link on that domain.list_domainsList domainsGETLists the project's custom short-link domains (slug, verified, primary, archived, root redirect target), with an optional search term and paging.update_domainUpdate domainPATCHUpdates a custom domain (rename, root redirect target and behaviour, expired-link URL, archive) and returns it. A partial update: every field is optional, send only the fields to change.
Folder, 4 operations
create_folderCreate folderPOSTCreates a folder to group links and QR codes, with an optional access level (read or write) for the project's members, and returns it.delete_folderDelete folderDELETEDeletes a folder. Its links and QR codes keep working but are no longer in a folder.list_foldersList foldersGETLists the project's folders (id, name, access level), with an optional search term and paging.update_folderUpdate folderPATCHRenames a folder or changes its access level and returns it; only the fields sent are changed.
Link, 4 operations
create_linkCreate linkPOSTCreates a short link to a destination url in the project and returns it with its shortLink and qrCode URLs. Optional: custom domain and key, expiry, password, tags, folder, UTM values, device and smart routing rules.delete_linkDelete linkDELETEDeletes a short link from the project and returns its id. The short URL stops redirecting.list_linksList linksGETLists the project's short links, newest first, 100 per page by default, with filters on domain, tag, folder, search text, creation and expiry dates, click counts and UTM values. Archived links are left out unless showArchived is true.update_linkUpdate linkPUTUpdates a short link (destination, slug, expiry, tags and more) and returns it. Send only the fields to change: url is optional here and CodeQR's own example sends just the new url. Same values: returned unchanged.
Qrcode, 4 operations
create_qrcodeCreate qrcodePOSTCreates a QR code in the project and returns it. type decides the content: a url (a dynamic QR code can later point elsewhere), a text, a phone number or a WhatsApp chat. Colours, logo, frame and pattern are optional.delete_qrcodeDelete qrcodeDELETEDeletes a QR code from the project and returns its id. Printed copies of a dynamic QR code stop redirecting.list_qrcodesList qrcodesGETLists the project's QR codes, newest first, 100 per page by default, with filters on domain, tag, folder, type, format (static or dynamic), search text, dates, scan counts and UTM values. Archived QR codes are left out unless showArchived is true.update_qrcodeUpdate qrcodePUTUpdates a QR code (destination, design, expiry, tags and more) and returns it. Send only the fields to change: CodeQR's own example sends just the new url. Same values: returned unchanged.
Tag, 4 operations
create_tagCreate tagPOSTCreates a tag in the project and returns it. Without a color, one of red, yellow, green, blue, purple, pink or brown is picked at random.delete_tagDelete tagDELETEDeletes a tag from the project. Links and QR codes keep working but are no longer tagged with it.list_tagsList tagsGETLists the project's tags (id, name, color), sorted by name by default, with an optional search term and paging.update_tagUpdate tagPUTRenames a tag or changes its color and returns it. name is required; the docs do not say whether a color left out is kept, so send the current color to keep it.
Info, 2 operations
get_link_infoGet link infoGETReturns one short link, found by its linkId, its externalId (prefixed with ext_) or both its domain and key.get_qrcode_infoGet qrcode infoGETReturns one QR code, found by its qrCodeId, its externalId (prefixed with ext_) or both its domain and key.
Project, 2 operations
get_projectGet projectGETReturns one project with its plan, usage and limits, domains and the caller's role.list_projectsList projectsGETLists the projects the API key can reach, with plan, usage and limits (links, domains, tags, users) and the caller's role.
Analytic, 1 operation
retrieve_analyticsRetrieve analyticsGETReturns analytics for the project, one link (linkId, or domain and key), or one QR code: totals by default, or a time series or a ranking by continent, country, city, device, browser, OS, referrer, top links or top URLs (groupBy).
Event, 1 operation
list_eventsList eventsGETLists raw click, scan, view, lead or sale events of the project, a link or a page, newest first (last 24 hours by default). Events carry the visitor's IP, location and device, and the customer for conversions: personal data.
Lead, 1 operation
track_leadTrack leadPOSTRecords a lead conversion (a sign-up, a demo request) for the click it came from (clickId, read from the cq_id cookie) and creates or updates the customer in CodeQR. Sends the customer's name and email to CodeQR if given.
Sale, 1 operation
track_saleTrack salePOSTRecords a sale for a customer already tracked as a lead (customerExternalId), with its amount in the currency's smallest unit; invoiceId makes it idempotent. Sends customer details to CodeQR if given.
Use CodeQR from Claude Code, Cursor or Codex
Connect CodeQR in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its CodeQR operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect CodeQR
- Create your workspace
Sign up free. Nothing to install.
- Connect CodeQR once
Add your CodeQR connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
CodeQR integration FAQ
What can you do with the CodeQR integration?
LiveContext exposes 32 operations on CodeQR, covering bulk, domain, folder and link.
