Access Your Analytics Datawith the Justuno API
Every analytics card in your Justuno dashboard is backed by a live API endpoint. With a private API key and the request example built into each card, you can pull the exact same data that powers your charts — on demand, programmatically, and in near real-time.
This is useful when you want to:
- Feed Justuno metrics into a BI tool, warehouse, or internal dashboard
- Build custom reporting on top of your experience and session data
- Set up monitoring or alerting on key metrics (opt-in rate, sessions enrolled, etc.)
- Export historical ranges for analysis outside the portal
This article walks through creating an API key, finding a chart's ready-made request, understanding the parameters you can adjust, and running the request.
Before you start
You'll need two things:
- A private API key (created in the portal — see below)
- A tool that can make an HTTP request —
curl, Postman, a script, or your BI tool's API connector
Basic familiarity with GET requests and HTTP headers is helpful but not required.
Step 1 — Create a private API key
Every request is authenticated with a private API key passed in the request header.
- Open the Justuno Portal.
- Go to Account Settings → Apps.
- Click Create private API key.
- Copy the key and store it somewhere safe.
Treat your API key like a password. It grants access to your account's data. Don't commit it to source control, paste it into client-side code, or share it in screenshots or support tickets. If a key is ever exposed, revoke it and create a new one.
Step 2 — Open a chart's API request example
Most analytics cards can generate a ready-to-use request for their own data.

- Hover over any analytics card.
- A
</>code icon appears in the top-right corner of the card. - Click it to open the API request example modal.

The modal shows a complete curl command that fetches that specific card's data, pre-filled with the card's current settings (date range, metrics, and the experience or source it's scoped to). You can copy it as-is and simply swap in your API key.
Step 3 — Understand the request
Here's an example of what the modal generates for an "SMS metrics by day" card:
curl 'https://api.justuno.com/v1/analytics/custom-dashboard-chart?endDate=2026-07-07&primarySource=10842627e2b24d22baaf72f1ea7097d8&primarySourceType=experiences&startDate=2026-06-07&timezone=America%2FLos_Angeles&xAxis=days&yAxis=sms&yAxis=sms-optin-rate&yAxis=sessions&yAxis=include-published-at' \
-H 'justuno-api: {YOUR_API_KEY}'
The request is made up of a base URL, a set of query parameters (the key=value pairs after the ? ), and an authentication header.
In the modal, parameters are color-coded to show what's what:
- Key (purple) — the parameter name. This defines what is being requested. Leave these alone.
- Value (green) — the parameter value. This is what you update to match your needs.
Step 4 — Adjust the parameters you care about
The modal highlights four values you'll most commonly change:
| Parameter | Where it lives | What it does | Example |
|---|---|---|---|
startDate |
Query string | Start of the date range | 2026-06-07 |
endDate |
Query string | End of the date range | 2026-07-07 |
timezone |
Query string | Timezone used to bucket the data | UTC |
justuno-api |
Header | Your private API key | {YOUR_API_KEY} |
A few things worth knowing:
- Dates use the
YYYY-MM-DDformat. - Timezone must be a valid IANA timezone name and URL-encoded. The forward slash in
America/Los_Angelesbecomes%2F, giving youAmerica%2FLos_Angeles. Other examples:America%2FNew_York,Europe%2FLondon,UTC. See below for complete list. - The API key goes in the header, not the URL. Replace
{YOUR_API_KEY}(including the braces) with the key you created in Step 1.
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/ComodRivadavia America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Atka America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Ciudad_Juarez America/Coral_Harbour America/Cordoba America/Costa_Rica America/Coyhaique America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Ensenada America/Fort_Nelson America/Fort_Wayne America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Nuuk America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Acre America/Porto_Velho America/Puerto_Rico America/Punta_Arenas America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Rosario America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Virgin America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Macquarie Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/South_Pole Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Atyrau Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Barnaul Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Chita Asia/Choibalsan Asia/Chongqing Asia/Chungking Asia/Colombo Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Famagusta Asia/Gaza Asia/Harbin Asia/Hebron Asia/Ho_Chi_Minh Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Istanbul Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Kashgar Asia/Kathmandu Asia/Katmandu Asia/Khandyga Asia/Kolkata Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macao Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qostanay Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu Asia/Tokyo Asia/Tomsk Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yangon Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/ACT Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Canberra Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/LHI Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/NSW Australia/North Australia/Perth Australia/Queensland Australia/South Australia/Sydney Australia/Tasmania Australia/Victoria Australia/West Australia/Yancowinna Brazil/Acre Brazil/DeNoronha Brazil/East Brazil/West CET CST6CDT Canada/Atlantic Canada/Central Canada/Eastern Canada/Mountain Canada/Newfoundland Canada/Pacific Canada/Saskatchewan Canada/Yukon Chile/Continental Chile/EasterIsland Cuba EET EST EST5EDT Egypt Eire Etc/GMT Etc/GMT+0 Etc/GMT+1 Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/GMT0 Etc/Greenwich Etc/UCT Etc/UTC Etc/Zulu Europe/Amsterdam Europe/Andorra Europe/Astrakhan Europe/Athens Europe/Belfast Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Busingen Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Kirov Europe/Kyiv Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Nicosia Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Saratov Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Tiraspol Europe/Ulyanovsk Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich GB GB-Eire GMT GMT+0 GMT-0 GMT0 Greenwich HST Hongkong Iceland Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Iran Israel Jamaica Japan Kwajalein Libya MET MST MST7MDT Mexico/BajaNorte Mexico/BajaSur Mexico/General NZ NZ-CHAT Navajo PRC PST8PDT Pacific/Apia Pacific/Auckland Pacific/Bougainville Pacific/Chatham Pacific/Chuuk Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kanton Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Pohnpei Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Samoa Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis Pacific/Yap Poland Portugal ROC ROK Singapore Turkey UCT US/Alaska US/Aleutian US/Arizona US/Central US/East-Indiana US/Eastern US/Hawaii US/Indiana-Starke US/Michigan US/Mountain US/Pacific US/Samoa UTC Universal W-SU WET Zulu
Full parameter reference
The remaining parameters describe which chart you're pulling and how the data is shaped. These are pre-filled by the modal to match the card you opened, so in most cases you can leave them as-is.
| Parameter | Description |
|---|---|
primarySource |
The ID of the experience (or other source) the chart is scoped to. |
primarySourceType |
The type of source, e.g. experiences . |
xAxis |
The dimension the data is grouped by, e.g. days . |
yAxis |
The metric series to return. This parameter can be repeated to include multiple series in one response. |
Requesting multiple metrics
To return more than one series, include yAxis multiple times. In the example above, four series are requested:
&yAxis=sms&yAxis=sms-optin-rate&yAxis=sessions&yAxis=include-published-at
This maps to the three series on the SMS card — SMS opt-ins, SMS opt-in rate, and sessions enrolled — plus a flag to include the experience's published-at marker.
Step 5 — Run the request
- Click Copy in the modal to grab the full
curlcommand. - Paste it into your terminal or API client.
- Replace
{YOUR_API_KEY}with your private key. - Adjust
startDate,endDate, andtimezoneif you want a different range or timezone. - Run it.
A completed request looks like this:
curl 'https://api.justuno.com/v1/analytics/custom-dashboard-chart?endDate=2026-07-07&primarySource=10842627e2b24d22baaf72f1ea7097d8&primarySourceType=experiences&startDate=2026-06-07&timezone=America%2FLos_Angeles&xAxis=days&yAxis=sms&yAxis=sms-optin-rate&yAxis=sessions&yAxis=include-published-at' \ -H 'justuno-api: ju_live_xxxxxxxxxxxxxxxxxxxxxxxx'
The response returns the same data that renders in the card, ready to parse, store, or visualize however you like. Because it reads from the same pipeline that powers your live dashboards, the data is fresh to within the platform's normal processing window — near real-time.
Tips and troubleshooting
- Start from the modal, not from scratch. Each card's request is pre-built with the correct
primarySource,xAxis, andyAxisvalues. Copying it is far more reliable than assembling a URL by hand. - Getting a 401 or authentication error? Confirm the
justuno-apiheader contains a valid, active key and that you replaced the entire{YOUR_API_KEY}placeholder, braces included. - Empty or unexpected data? Double-check
startDate/endDateand make suretimezoneis URL-encoded (/→%2F). - Automating pulls? Store your key in an environment variable or secrets manager rather than hard-coding it, and reuse the same request on a schedule to keep an external dashboard in sync.