API Reference
Everything the dashboard does, your systems can do too. The API is REST over HTTPS with JSON bodies, standard status codes and API-key authentication. Most integrations use three parts of it: content (keep exhibitors and sessions in sync), links (one link per booth, generated on demand) and kiosks (provision screens).
You do not need the API to use Waygo. Every guide in this documentation works from the dashboard alone. Reach for the API when another system is the source of truth, or when you generate links and content in bulk.
Where to start
- Authentication: the two headers every request carries.
- Content and Catalogs: rows and their columns.
- Maps: settings, publishing, going live, previews.
- Search and directions: the read side the map itself uses.
Worked example: Keep content in sync.
Base URL
https://api.waygomaps.com
A first request
curl https://api.waygomaps.com/maps/v1 \
-H "Waygo-API-Key: $WAYGO_API_KEY"
Response
{
"maps": [
{ "map_id": "acme-expo-2027", "name": "Acme Expo 2027", "status": "live", "…": "…" }
],
"total": 1, "skip": 0, "limit": 20
}
Conventions
| Format | JSON request and response bodies (Content-Type: application/json), except file uploads, which are multipart/form-data, and CSV downloads. |
| IDs | Human-readable where you set them (a map's acme-expo-2027, a catalog's exhibitors), generated otherwise. |
| Timestamps | RFC 3339 in UTC with an explicit Z and millisecond precision (2026-08-31T12:10:00.000Z) — what JavaScript's toISOString() produces, so new Date(value) reads it correctly in every zone. Send timestamps the same way; a value without an offset is read as UTC. |
| Lists | Paginated with skip and limit; see Pagination. |
| Errors | A status code and a JSON body with an error token; see Errors. |
| Versions | The version is part of the path (/maps/v1); see Versioning. |