Nano Currency API for developers, exchanges, and everyone in between. Understand the core details of the nano protocol and more. Start building with Nano today.

Introduction

Menu.Miami API is organized around REST.

The API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Not a developer?

We offer a no-code dashboard to get started.

Base URL
http://localhost:8081/api/v3
CLIENT LIBRARIES
NodeJS
$ npm install axios
Authentication

Menu.Miami uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

API requests must be made over HTTPS. Calls over HTTP will fail.

Get Analytics
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Account
Axios
const axios = require('axios');

axios.get('http://localhost:8081/api/v3/account').then((res) => {
  console.log(res.data);
});
Response
[
  {
    "id": "1074b56",
    "email": "[email protected]",
    "created_at": "Oct 16, 2021 1:26 AM",
    "last_login": "Jun 22, 2025 8:13 PM",
    "timezone": "America/New_York",
    "person_name": "John Doe"
  }
]
Update Account
Attributes
person_name string

profile_url string

timezone string

Axios
const axios = require('axios');

axios.post('http://localhost:8081/api/v3/account', {
  "person_name": "John Doe",
  "profile_url": "https://menu.miami/2332324/df7b14d781e5.png",
  "timezone": "America/New_York"
}).then((res) => {
  console.log(res.data);
});
Response
{
  "success": true
}
Get Locations
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Location
Attributes
name string

address string

tax_id string

owner_name string

latitude string

longitude string

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Location
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Location
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Items
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Item
Attributes
title string required

category string required

price string

description string

image string

menuId string

addons string

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Item
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Item
Attributes
title string required

category string required

price string

description string

image string

menuId string

addons string

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Menus
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Menu
Attributes
title string required

themeId string

image binary

status string

disclaimer string

logo string

customCSS string

items array

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Menu
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Menu
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Pages
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Page
Attributes
title string required

themeId string

description string

status string

disclaimer string

logo string

customCSS string

buttons array

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Page
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Page
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Displays
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Display
Attributes
title string required

themeId string

description string

status string

disclaimer string

logo string

customCSS string

menuId array

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Display
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Display
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Orders
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Order
Attributes
menuId string required

type string required

Order type: pickup, delivery, dine-in

delivery_address boolean

False for pickup

scheduled string

Scheduled datetime

table string

Table number if dine-in

line_items array required

List of items ordered

source string

Referral or QR source

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Order
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Order
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Themes
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Theme
Attributes
title string required

css string required

image string

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Theme
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Theme
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Reviews
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Review
Attributes
name string

review string required

itemId string

locationId string

contactMethod string

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Delete Review
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Review
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Get Media
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Create Media
Attributes
files binary

NodeJS
const nano = require('@nano/cloud')('API_KEY')

Response
[
  {
    "id": "dccf77428e5042cf9b959c0f47a67da3",
    "originalname": "cargo-trailer-6x12-1.jpg",
    "encoding": "7bit",
    "mimetype": "image/jpeg",
    "size": 21957,
    "uri": "2e5cd23d/dccf77428e5042cf9b959c0f47a67da3-resized.jpeg",
    "created_at": 1751216865637,
    "updated_at": 1751216866012
  }
]
Delete Media
NodeJS
const nano = require('@nano/cloud')('API_KEY')

Update Media
NodeJS
const nano = require('@nano/cloud')('API_KEY')