API Reference
Programmatic access to Deep Tech Week for agents, automations, and integrations.
Machine-readable docs: GET /api/dtw returns the full API spec as JSON — ideal for AI agents discovering the API.
Authentication
All API requests (except GET /api/dtw) require a Bearer token in the Authorization header.
API keys use the format dtw_mk_{random} and are stored hashed (SHA-256). The raw key is shown once at creation time — it cannot be retrieved later.
API Key Tiers
Conference
Scoped to a single conference and its events. Created by platform administrators.
Organization
Scoped to events your organization hosts or co-hosts, across all conferences. Also grants access to the Luma proxy. Created by organization owners from the organization settings page.
Rate Limits
| Scope | Limit | Applies to |
|---|---|---|
| Per API key | 60 req/min | /api/dtw/* |
| Per organization | 30 req/min | /api/luma/* |
Rate limit info is returned in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. When exceeded, the server returns 429 Too Many Requests.
Pagination
All list endpoints use cursor-based pagination. Pass cursor from the previous response to get the next page. Use limit to control page size (default 50, max 200).
When has_more is false, you've reached the end.
Endpoints
Discovery & Auth
| Method | Path | Description |
|---|---|---|
GET | /api/dtw | API discovery — returns full spec as JSON (no auth required) |
GET | /api/dtw/ping | Validate your key and see scope info |
Conferences & Events
| Method | Path | Description |
|---|---|---|
GET | /api/dtw/conferences | List conferences visible to your key |
GET | /api/dtw/conferences/{id}/events | List events for a conference (filter by category) |
Posters
| Method | Path | Description |
|---|---|---|
GET | /api/dtw/posters | List posters (filter by event_id, conference_id, published) |
GET | /api/dtw/posters/{id} | Get a single poster |
PATCH | /api/dtw/posters/{id} | Update posted_urls after sharing to social media |
GET | /api/dtw/events/{id}/posters | List posters for a specific event |
Luma Proxy
Organization keys can make Luma API calls through /api/luma/{path}. The proxy automatically translates DTW event IDs to Luma event IDs and verifies your org hosts the event.
| Luma Path | Description |
|---|---|
event/get | Get event details |
event/get-guests | List event guests |
event/get-guest | Get a single guest |
event/add-guests | Add guests to the event |
event/update-guest-status | Update a guest's status |
event/ticket-types | List, create, update, or delete ticket types |
event/coupons | List or create coupon codes |
Poster Object Fields
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
event_id | UUID | The event this poster belongs to |
conference_id | UUID? | Conference the event belongs to |
image_url | string | Full-resolution poster image URL. Download this to post. |
thumbnail_url | string? | Smaller thumbnail for previews |
title | string? | Poster title (event name or featured speaker) |
published | boolean | Whether the poster is published and visible to attendees |
sort_order | number | Display order |
metadata | object | Freeform JSON — may contain poster style, speakers, generation details |
posted_urls | object? | Map of platform → URL after sharing, e.g. { "linkedin": "...", "twitter": "..." } |
created_at | ISO 8601 | When the poster was created |
Recommended Workflow
For agents posting event posters to social media:
GET /api/dtw/ping— verify your key worksGET /api/dtw/conferences— discover conferencesGET /api/dtw/conferences/{id}/events— browse eventsGET /api/dtw/posters?published=true— fetch published posters- Download
image_urland post to social media - Use
metadatafor context when writing captions PATCH /api/dtw/posters/{id}with{ "posted_urls": { "linkedin": "...", "twitter": "..." } }
Hosts can see your posted_urls in their dashboard and reshare your posts.
cURL Examples
Ping (verify key)
List conferences
List events for a conference
List published posters
Get posters for an event
Get a single poster
Report social share URLs
Error Responses
| Status | Body | Reason |
|---|---|---|
400 | { "error": "..." } | Invalid JSON body or missing posted_urls |
401 | { "error": "Invalid or expired API key" } | Missing, invalid, expired, or inactive API key |
403 | { "error": "..." } | Key doesn't have access to the requested resource |
404 | { "error": "Poster not found" } | No poster with that ID |
410 | { "error": "This endpoint is deprecated..." } | Old marketing endpoint — migrate to /api/dtw/posters |
429 | { "error": "Rate limit exceeded..." } | Too many requests — wait for window reset |
500 | { "error": "..." } | Server/database error |
Getting an API Key
Organization Keys
Organization owners can create API keys from Host → Organizations → [Your Org] → API Keys.
Conference Keys
Contact a platform administrator to request a conference-scoped key.