sharing
GET
https://lucida.15-204-158-166.sslip.io /v1/embed/dashboards/{token} Parameters
tokenstringpathrequiredrefreshstringquery1 recomputes (6 a minute per link)
grantstringqueryCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/embed/dashboards/{token}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 iframe page; CSP frame-ancestors from the share's allowed origins
404
GET
https://lucida.15-204-158-166.sslip.io /v1/embed/insights/{token} Parameters
tokenstringpathrequiredrefreshstringquery1 recomputes (6 a minute per link)
grantstringqueryCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/embed/insights/{token}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 iframe page; CSP frame-ancestors from the share's allowed origins
404
GET
https://lucida.15-204-158-166.sslip.io /v1/embed/notebooks/{token} Parameters
tokenstringpathrequiredgrantstringqueryCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/embed/notebooks/{token}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 iframe page; CSP frame-ancestors from the share's allowed origins
404
GET
https://lucida.15-204-158-166.sslip.io /v1/embed/web/{token} Parameters
tokenstringpathrequireddaysintegerquerygrantstringqueryCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/embed/web/{token}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 iframe widget; CSP frame-ancestors from the share's allowed origins
403
404
503
GET
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/branding Parameters
project_idstringpathrequiredCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/branding"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200
Example
{
"effective": {},
"override": {}
}Schema
effectiveobjectrequiredoverrideobjectrequirednull fields inherit the org brand.404
PUT
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/branding Parameters
project_idstringpathrequiredRequest body
application/json
A project override; omitted or null fields inherit the org brand. All empty removes it.
accentstringlogo_urlstringnamestringwhite_labelboolean{
"accent": "string",
"logo_url": "string",
"name": "string",
"white_label": true
}Code samples
cURL
curl -X PUT "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/branding" \
-H "Content-Type: application/json" \
-d '{"accent":"string","logo_url":"string","name":"string","white_label":true}'TypeScript
Python
Go
PHP
Ruby
Java
GET
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/dashboards/{id}/shares Parameters
project_idstringpathrequiredidstringpathrequiredCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/dashboards/{id}/shares"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Array of Share, newest first
404
POST
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/dashboards/{id}/shares Parameters
project_idstringpathrequiredidstringpathrequiredRequest body
application/json
allowed_originsstring[]Embeds only: origins (
https://app.example.com) allowed to frame the view; empty allows any.expires_in_daysintegerLifetime in days (default 7, at most 90).
never_expiresbooleanNo expiry at all; needs the org setting
permanent_shares (403 otherwise).optionsobjectDisplay options of the public view and embed.
Show child parameters
hide_brandingbooleanLeave out the Lucida branding.
hide_legendbooleanLeave out chart legends.
lock_filtersobjectProperty group (
{"and": [...]}, may hold a cohort filter) ANDed into every query the public view runs; viewers cannot remove it.show_queriesbooleanNotebooks only: show the text of query blocks (hidden by default, queries can name people).
show_recordingsbooleanNotebooks only, project admins only (G146): replay and playlist blocks play in the shared view (masked at capture, no person ids, no comments). Withheld by default.
show_rowsbooleanNotebooks only, project admins only (G146): people, event, group and cohort lists share their rows (the block's chosen property columns; identities and email-like columns are always dropped) instead of per-day counts. Off by default.
themestringlight, dark or system (the default).viewer_filtersbooleanViewers may add their own event, person or session property filters (
?filters=), applied on top of the lock.passwordstringViewers must enter this password (8 to 200 characters); stored only as an argon2id hash.
{
"allowed_origins": [
"string"
],
"expires_in_days": 0,
"never_expires": true,
"options": {
"hide_branding": true,
"hide_legend": true,
"lock_filters": {},
"show_queries": true,
"show_recordings": true,
"show_rows": true,
"theme": "string",
"viewer_filters": true
},
"password": "string"
}Code samples
cURL
curl -X POST "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/dashboards/{id}/shares" \
-H "Content-Type: application/json" \
-d '{"allowed_origins":["string"],"expires_in_days":0,"never_expires":true,"options":{"hide_branding":true,"hide_legend":true,"lock_filters":{},"show_queries":true,"show_recordings":true,"show_rows":true,"theme":"string","viewer_filters":true},"password":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201
Example
{
"allowed_origins": [
"string"
],
"created_at": "2024-01-01T00:00:00Z",
"expires_at": "2024-01-01T00:00:00Z",
"id": "string",
"options": {},
"password_protected": true,
"resource_id": "string",
"resource_type": "string",
"revoked_at": "2024-01-01T00:00:00Z",
"token": "string"
}Schema
allowed_originsstring[]requiredOrigins allowed to frame the embed (empty: any).
created_atstringrequiredexpires_atstringidstringrequiredoptionsobjectrequired{hide_branding?, hide_legend?, theme?: light|dark|system}.password_protectedbooleanrequiredViewers must enter a password first.
resource_idstringrequiredresource_typestringrequiredrevoked_atstringtokenstringrequiredShown once; only its hash is stored.
400
403
404
DELETE
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/dashboards/{id}/shares/{share_id} Parameters
project_idstringpathrequiredidstringpathrequiredshare_idstringpathrequiredCode samples
cURL
curl -X DELETE "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/dashboards/{id}/shares/{share_id}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
204
403
404
GET
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/heatmaps/shares Parameters
project_idstringpathrequiredurlstringqueryrequiredCode samples
cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/heatmaps/shares?url=<url>"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Array of Share for the page, newest first
400
404
POST
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/heatmaps/shares Parameters
project_idstringpathrequiredRequest body
application/json
expires_in_daysintegerLifetime in days (default 7, at most 90).
urlstringrequiredPage path or URL whose heatmaps the link opens.
{
"expires_in_days": 0,
"url": "string"
}Code samples
cURL
curl -X POST "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/heatmaps/shares" \
-H "Content-Type: application/json" \
-d '{"expires_in_days":0,"url":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
400
403
404
DELETE
https://lucida.15-204-158-166.sslip.io /v1/projects/{project_id}/heatmaps/shares/{share_id} Parameters
project_idstringpathrequiredshare_idstringpathrequiredCode samples
cURL
curl -X DELETE "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/heatmaps/shares/{share_id}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
204
403
404
Updated