Skip to content
BusinessShop links and menus

Business

Shop links and menus

Shop links, menus and menu photos.

Pilotv1

Set the menu override for a permitted live branch

PUT/shop-links/branches/{branchId}/menu

Scopeshop-content:write

Requires shop-content:write; program-limited keys are refused.

Send an Idempotency-Key header. Safe to retry.

Path

branchIduuidRequired

Body

labelstring or null
valueuriRequired

Returns 200

updatedtrueRequired
Request
curl -X PUT "https://app.revisit.cards/v1/developer/shop-links/branches/5eff65d7-d01c-4bd3-b26a-3d06b21fd005/menu" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8eb44396" \
  -H "Content-Type: application/json" \
  -d '{
    "value": "https://www.example.com"
  }'
Response
{
  "data": {
    "updated": true
  },
  "requestId": "04beea96-a15c-4e50-a6f5-225ccc8edeab",
  "success": true
}

Clear a permitted branch menu and retire its public address

DELETE/shop-links/branches/{branchId}/menu

Scopeshop-content:write

Requires shop-content:write. Clears the branch override and its photos.

Send an Idempotency-Key header. Safe to retry.

Path

branchIduuidRequired

Returns 200

updatedtrueRequired
Request
curl -X DELETE "https://app.revisit.cards/v1/developer/shop-links/branches/5eff65d7-d01c-4bd3-b26a-3d06b21fd005/menu" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8ed5e921"
Response
{
  "data": {
    "updated": true
  },
  "requestId": "3b0d9e81-1be4-47f8-aed3-8cb1eae08dc8",
  "success": true
}

Upload one business menu photo

POST/shop-links/menu/photos

Scopeshop-content:write

Requires shop-content:write and an unrestricted business key. Up to ten photos; WebP at most 1600px wide with EXIF stripped. No outside asset fetching.

Send an Idempotency-Key header. Safe to retry.

Body (multipart)

filefileRequired
PNG

Returns 200

updatedtrueRequired
photoIduuidRequired
Request
curl -X POST "https://app.revisit.cards/v1/developer/shop-links/menu/photos" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8ecfed03" \
  -F "file=@photo.png"
Response
{
  "data": {
    "photoId": "5bf5a8b3-553c-4f2a-aac5-82f9b3786e3f",
    "updated": true
  },
  "requestId": "9cc7b71b-915d-4969-a44c-a701ec0a6013",
  "success": true
}

Upload one photo to a permitted live branch menu

POST/shop-links/branches/{branchId}/menu/photos

Scopeshop-content:write

Requires shop-content:write. Same media limits as business uploads; branch-limited keys cannot upload elsewhere.

Send an Idempotency-Key header. Safe to retry.

Path

branchIduuidRequired

Body (multipart)

filefileRequired
PNG

Returns 200

updatedtrueRequired
photoIduuidRequired
Request
curl -X POST "https://app.revisit.cards/v1/developer/shop-links/branches/5eff65d7-d01c-4bd3-b26a-3d06b21fd005/menu/photos" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e04068e" \
  -F "file=@photo.png"
Response
{
  "data": {
    "photoId": "5bf5a8b3-553c-4f2a-aac5-82f9b3786e3f",
    "updated": true
  },
  "requestId": "aa03eafd-09a6-4b9c-a90f-6240b2a29b23",
  "success": true
}

Caption a permitted menu photo

PATCH/shop-links/menu-photos/{photoId}

Scopeshop-content:write

Requires shop-content:write. Blank caption clears its text.

Send an Idempotency-Key header. Safe to retry.

Path

photoIduuidRequired

Body

captionstring or null

Returns 200

updatedtrueRequired
Request
curl -X PATCH "https://app.revisit.cards/v1/developer/shop-links/menu-photos/5bf5a8b3-553c-4f2a-aac5-82f9b3786e3f" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e314c32" \
  -H "Content-Type: application/json" \
  -d '{
    "caption": "Morning menu"
  }'
Response
{
  "data": {
    "updated": true
  },
  "requestId": "29e4f09f-df9f-4319-907e-b648f37ff915",
  "success": true
}

Remove a permitted menu photo

DELETE/shop-links/menu-photos/{photoId}

Scopeshop-content:write

Requires shop-content:write. The menu's stable public address is retained.

Send an Idempotency-Key header. Safe to retry.

Path

photoIduuidRequired

Returns 200

updatedtrueRequired
Request
curl -X DELETE "https://app.revisit.cards/v1/developer/shop-links/menu-photos/5bf5a8b3-553c-4f2a-aac5-82f9b3786e3f" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8eafa7cf"
Response
{
  "data": {
    "updated": true
  },
  "requestId": "256f3ac6-7b90-4c75-8c61-354716fdc6cd",
  "success": true
}

Reorder all current photos of one permitted menu

PUT/shop-links/menu-photos/order

Scopeshop-content:write

Requires shop-content:write. Every photo must belong to the same menu and appear once. A changed set returns 422 MENU_PHOTOS_CHANGED.

Send an Idempotency-Key header. Safe to retry.

Body

idsuuid[]Required

Returns 200

updatedtrueRequired
Request
curl -X PUT "https://app.revisit.cards/v1/developer/shop-links/menu-photos/order" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY" \
  -H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e069ca5" \
  -H "Content-Type: application/json" \
  -d '{
    "ids": [
      "f5f5da8e-32f2-4c56-9862-714aedc1666a"
    ]
  }'
Response
{
  "data": {
    "updated": true
  },
  "requestId": "11de7cf6-704b-439f-bb3c-1d88186b0350",
  "success": true
}