Deep Tech Week Help

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.

Authorization: Bearer dtw_mk_...

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).

{ "items": [...], "pagination": { "has_more": true, "next_cursor": "abc123...", "count": 50 } }

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:

  1. GET /api/dtw/ping — verify your key works
  2. GET /api/dtw/conferences — discover conferences
  3. GET /api/dtw/conferences/{id}/events — browse events
  4. GET /api/dtw/posters?published=true — fetch published posters
  5. Download image_url and post to social media
  6. Use metadata for context when writing captions
  7. 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)

curl -X GET "https://deep-tech-week.com/api/dtw/ping" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

List conferences

curl -X GET "https://deep-tech-week.com/api/dtw/conferences" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

List events for a conference

curl -X GET "https://deep-tech-week.com/api/dtw/conferences/CONFERENCE_ID/events" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

List published posters

curl -X GET "https://deep-tech-week.com/api/dtw/posters?published=true" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

Get posters for an event

curl -X GET "https://deep-tech-week.com/api/dtw/events/EVENT_ID/posters" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

Get a single poster

curl -X GET "https://deep-tech-week.com/api/dtw/posters/POSTER_ID" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY"

Report social share URLs

curl -X PATCH "https://deep-tech-week.com/api/dtw/posters/POSTER_ID" \ -H "Authorization: Bearer dtw_mk_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"posted_urls": {"linkedin": "https://...", "twitter": "https://..."}}'

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.

Next Steps