Documentation
API reference
Tags
Tags are the physical NFC stickers and QR codes that open your storefront. A tag has no test mode — it is a real object.
Base URL: https://apiv2.venuerun.com/merchants/:merchantId/tags
GET /merchants/:merchantId/tags
POST /merchants/:merchantId/tags
GET /merchants/:merchantId/tags/:tagId
POST /merchants/:merchantId/tags/:tagId
PATCH /merchants/:merchantId/tags/:tagId
DELETE /merchants/:merchantId/tags/:tagId
POST /merchants/:merchantId/tags/activate/:tagIdThe tag object
| Field | Type | Description |
|---|---|---|
id | string (read-only) | Unique identifier, assigned by VenueRun. |
createdAt | string (read-only) | When it was created (ISO 8601). |
updatedAt | string (read-only) | When it last changed (ISO 8601). |
documentCollection | "merchants" | "venues" | |
documentId | string | |
metadata | object[] | Defaults to []. |
nfc | boolean | Set when the tag was activated by writing an NFC chip. Defaults to false. |
qr | boolean | Printed-QR flag. Written by the dashboard's direct-to-Firestore tag form rather than by the API, so it is absent on API-created tags. |
alias | string[] | Alternate ids the tag also answers to — an NFC chip's serial number, for instance. Clients resolve tags/{id} first and fall back to searching this. Defaults to []. |
List tags
GET /merchants/:merchantId/tags
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags`, {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});Response:
[
{
"id": "SERIAL-A1B2C3-0001",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [],
"nfc": true,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "",
"qrUrl": "https://venuerun.com/qr/SERIAL-A1B2C3-0001",
"url": "https://venuerun.com/tag/SERIAL-A1B2C3-0001"
},
{
"id": "dmp3nzF4EK55jDRafT4e",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "",
"value": "",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "",
"qrUrl": "https://venuerun.com/qr/dmp3nzF4EK55jDRafT4e",
"url": "https://venuerun.com/tag/dmp3nzF4EK55jDRafT4e"
},
{
"id": "ShiJlFh7gKx1iMjc3IYc",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "1",
"visible": true
},
{
"key": "Seat",
"value": "4",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table 1, Seat 4",
"qrUrl": "https://venuerun.com/qr/ShiJlFh7gKx1iMjc3IYc",
"url": "https://venuerun.com/tag/ShiJlFh7gKx1iMjc3IYc"
},
{
"id": "aH6d9Fvhrsy6OUX0iO2P",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "2",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 2",
"qrUrl": "https://venuerun.com/qr/aH6d9Fvhrsy6OUX0iO2P",
"url": "https://venuerun.com/tag/aH6d9Fvhrsy6OUX0iO2P"
},
{
"id": "MOZY72fPbDM7tO3m3mkI",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "3",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 3",
"qrUrl": "https://venuerun.com/qr/MOZY72fPbDM7tO3m3mkI",
"url": "https://venuerun.com/tag/MOZY72fPbDM7tO3m3mkI"
},
{
"id": "SrYn6Pdg10EZY3R3a0I8",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "4",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 4",
"qrUrl": "https://venuerun.com/qr/SrYn6Pdg10EZY3R3a0I8",
"url": "https://venuerun.com/tag/SrYn6Pdg10EZY3R3a0I8"
},
{
"id": "ZqyEJAZvrc5qkU4WJtwr",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "5",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 5",
"qrUrl": "https://venuerun.com/qr/ZqyEJAZvrc5qkU4WJtwr",
"url": "https://venuerun.com/tag/ZqyEJAZvrc5qkU4WJtwr"
},
{
"id": "lfHqlkLaShQhdu5AbQbg",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "6",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 6",
"qrUrl": "https://venuerun.com/qr/lfHqlkLaShQhdu5AbQbg",
"url": "https://venuerun.com/tag/lfHqlkLaShQhdu5AbQbg"
},
{
"id": "wYPu92azM6zGwvI7yGRi",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "7",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 7",
"qrUrl": "https://venuerun.com/qr/wYPu92azM6zGwvI7yGRi",
"url": "https://venuerun.com/tag/wYPu92azM6zGwvI7yGRi"
},
{
"id": "i0FFIItrwhIWyqFuKxwK",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "8",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 8",
"qrUrl": "https://venuerun.com/qr/i0FFIItrwhIWyqFuKxwK",
"url": "https://venuerun.com/tag/i0FFIItrwhIWyqFuKxwK"
},
{
"id": "50E7WISZrihw0Zsrg5DP",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "9",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 9",
"qrUrl": "https://venuerun.com/qr/50E7WISZrihw0Zsrg5DP",
"url": "https://venuerun.com/tag/50E7WISZrihw0Zsrg5DP"
},
{
"id": "KxO4N5z9dwdc50sIJ6pc",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "10",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 10",
"qrUrl": "https://venuerun.com/qr/KxO4N5z9dwdc50sIJ6pc",
"url": "https://venuerun.com/tag/KxO4N5z9dwdc50sIJ6pc"
},
{
"id": "nAk7dlHvxYMjVYW2NHzQ",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "11",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 11",
"qrUrl": "https://venuerun.com/qr/nAk7dlHvxYMjVYW2NHzQ",
"url": "https://venuerun.com/tag/nAk7dlHvxYMjVYW2NHzQ"
},
{
"id": "nALyPqPXJl88At2YN273",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "12",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 12",
"qrUrl": "https://venuerun.com/qr/nALyPqPXJl88At2YN273",
"url": "https://venuerun.com/tag/nALyPqPXJl88At2YN273"
},
{
"id": "ZvzQYXYs7kheWqgWrlnZ",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "13",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 13",
"qrUrl": "https://venuerun.com/qr/ZvzQYXYs7kheWqgWrlnZ",
"url": "https://venuerun.com/tag/ZvzQYXYs7kheWqgWrlnZ"
},
{
"id": "ioTZiFzz8pJJTVHxIZYP",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "14",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 14",
"qrUrl": "https://venuerun.com/qr/ioTZiFzz8pJJTVHxIZYP",
"url": "https://venuerun.com/tag/ioTZiFzz8pJJTVHxIZYP"
},
{
"id": "NDn0ZXyk3LosrnkR435M",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "15",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 15",
"qrUrl": "https://venuerun.com/qr/NDn0ZXyk3LosrnkR435M",
"url": "https://venuerun.com/tag/NDn0ZXyk3LosrnkR435M"
},
{
"id": "EbJhR96rMxgomRnNQChz",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "16",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 16",
"qrUrl": "https://venuerun.com/qr/EbJhR96rMxgomRnNQChz",
"url": "https://venuerun.com/tag/EbJhR96rMxgomRnNQChz"
},
{
"id": "NgEas5XMFEpR4a52V3US",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "17",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 17",
"qrUrl": "https://venuerun.com/qr/NgEas5XMFEpR4a52V3US",
"url": "https://venuerun.com/tag/NgEas5XMFEpR4a52V3US"
},
{
"id": "ACc1tKm5GqlNLpi9Guff",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "18",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 18",
"qrUrl": "https://venuerun.com/qr/ACc1tKm5GqlNLpi9Guff",
"url": "https://venuerun.com/tag/ACc1tKm5GqlNLpi9Guff"
},
{
"id": "dcFBpqBBL21tVgcHtane",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "19",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 19",
"qrUrl": "https://venuerun.com/qr/dcFBpqBBL21tVgcHtane",
"url": "https://venuerun.com/tag/dcFBpqBBL21tVgcHtane"
},
{
"id": "xmVeOlAUR4E2VXEuDvMm",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "20",
"visible": true
}
],
"nfc": false,
"qr": true,
"alias": [],
"createdAt": null,
"updatedAt": null,
"message": "Table 20",
"qrUrl": "https://venuerun.com/qr/xmVeOlAUR4E2VXEuDvMm",
"url": "https://venuerun.com/tag/xmVeOlAUR4E2VXEuDvMm"
},
{
"id": "0410A752251390",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "Table",
"value": "27",
"visible": true
}
],
"nfc": true,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table 27",
"qrUrl": "https://venuerun.com/qr/0410A752251390",
"url": "https://venuerun.com/tag/0410A752251390"
},
{
"id": "KMRbhHf4oOz2noeOTdvH",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/KMRbhHf4oOz2noeOTdvH",
"url": "https://venuerun.com/tag/KMRbhHf4oOz2noeOTdvH"
},
{
"id": "qjXD1XXKAYsltzfKZzhv",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/qjXD1XXKAYsltzfKZzhv",
"url": "https://venuerun.com/tag/qjXD1XXKAYsltzfKZzhv"
},
{
"id": "QJyI6RE8u5iPNXqYhhuG",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/QJyI6RE8u5iPNXqYhhuG",
"url": "https://venuerun.com/tag/QJyI6RE8u5iPNXqYhhuG"
},
{
"id": "Z7UwCdH0rdO3ti0Zyzok",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/Z7UwCdH0rdO3ti0Zyzok",
"url": "https://venuerun.com/tag/Z7UwCdH0rdO3ti0Zyzok"
},
{
"id": "JIsD7wrE2P26wxNj9XZv",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/JIsD7wrE2P26wxNj9XZv",
"url": "https://venuerun.com/tag/JIsD7wrE2P26wxNj9XZv"
},
{
"id": "kO9A97GkQxPzod4iw0kN",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3",
"qrUrl": "https://venuerun.com/qr/kO9A97GkQxPzod4iw0kN",
"url": "https://venuerun.com/tag/kO9A97GkQxPzod4iw0kN"
},
{
"id": "BC6MJfNrP6FI8IBjQwB2",
"documentCollection": "merchants",
"documentId": "MERCHANT_ID",
"metadata": [
{
"key": "table",
"value": "A1B2C3-B",
"visible": true
}
],
"nfc": false,
"alias": [],
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"message": "Table A1B2C3-B",
"qrUrl": "https://venuerun.com/qr/BC6MJfNrP6FI8IBjQwB2",
"url": "https://venuerun.com/tag/BC6MJfNrP6FI8IBjQwB2"
}
]Create a tag
POST /merchants/:merchantId/tags
Required attributes
None.
Optional attributes
| Field | Type | Description |
|---|---|---|
metadata | object[] | Defaults to []. |
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});Retrieve a tag
GET /merchants/:merchantId/tags/:tagId
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags/TAG_ID`, {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});Update a tag (POST alias)
POST /merchants/:merchantId/tags/:tagId
Send only the fields you are changing — every attribute is optional.
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags/TAG_ID`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});Update a tag
PATCH /merchants/:merchantId/tags/:tagId
Send only the fields you are changing — every attribute is optional.
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags/TAG_ID`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});Delete a tag
DELETE /merchants/:merchantId/tags/:tagId
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags/TAG_ID`, {
method: 'DELETE',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});POST activate
POST /merchants/:merchantId/tags/activate/:tagId
No recorded example yet — the test suite does not call this endpoint.
const merchantId = process.env.VENUERUN_MERCHANT_ID;
const response = await fetch(`https://apiv2.venuerun.com/merchants/${merchantId}/tags/activate/TAG_ID`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VENUERUN_API_KEY}`,
},
});
