Mental health
Support calm, non-judgmental tools for education, reflection, care navigation, and research workflows with appropriate human oversight.
Business-plan Research & Deployment API with domain corpus citations, structured outputs, streaming, async jobs, webhooks, usage limits, and published assistant endpoints.
POST /v1/research
Authorization: Bearer ds_…
Idempotency-Key: req_123
{
"domain": "HEALTH_RESEARCH",
"task": "summarize evidence",
"query": "…",
"accessibility": true,
"human_review": true
}Research areas
Each domain retrieves DropShapes corpus excerpts, returns citations, and can be published as a hosted deployment endpoint.
Support calm, non-judgmental tools for education, reflection, care navigation, and research workflows with appropriate human oversight.
Help organize literature, compare findings, identify research gaps, and explain complex evidence in more understandable formats.
Assist with evidence review, patient-friendly communication, accessibility checks, and structured research support.
Help developers plan, test, document, and deploy accessible applications, APIs, and digital research tools.
Turn difficult material into clearer lessons, study supports, visual structures, and adaptive learning experiences.
Support mission planning, scientific communication, data interpretation, STEM learning, and ideas for future exploration.
Create tools that reduce clutter, support different processing styles, improve readability, and help people work with less friction.
Help organize climate, conservation, pollution, biodiversity, and sustainability information for research and public understanding.
Responsible health use: DropShapes research tools support education, research, communication, and workflow assistance. They are not a replacement for qualified medical care, diagnosis, treatment, or emergency services.
Developer guide
Everything you need to authenticate, call research endpoints, poll jobs, publish deployments, and handle errors. Machine-readable contract: https://api.dropshapes.com/v1/openapi.json.
ds_… secret is shown only once at creation (with a Copy button). After that Settings only shows the prefix — revoke and create a new key if you lose it./v1/* call as Authorization: Bearer ds_… or Api-Key ds_…./research/history, /research/usage, /research/deployments) use your logged-in account token from Settings — not the API key.429 with error.type quota_exceeded or rate_limit.GET /research/usage (JWT).| Method | Path | Auth | Purpose |
|---|---|---|---|
| POST | /v1/research | API key | Create a research run (sync or async) |
| POST | /v1/research/stream | API key | Stream output as SSE (event: delta / done / error) |
| GET | /v1/research/:id | API key | Retrieve a prior result (poll async jobs) |
| GET | /v1/openapi.json | none | OpenAPI 3 document |
| GET/POST/DELETE | /v1/deployments… | API key | List, create, revoke deployments |
| POST | /v1/deployments/:slug/run | publish token* | Run a published assistant |
| GET/POST/DELETE | /v1/webhooks… | API key | Manage research.completed webhooks |
| GET | /research/history?page&limit | JWT | Paginated account research history (items, total) |
| GET | /research/usage | JWT | Monthly usage meter |
* Public deployments may omit the token; private ones require X-DropShapes-Token or ?token=.
POST /v1/research)| Field | Type | Notes |
|---|---|---|
| domain | enum | Required. One of the eight research domains above. |
| task | string | Required. Short instruction (e.g. summarize evidence). |
| query | string | Optional but recommended. The material or question to work on. |
| accessibility | boolean | Default true. Prefer plain, low-clutter language. |
| human_review | boolean | Default true. Ask the model to list items needing a qualified human. |
| provider | OPENAI | CLAUDE | DROPSHAPES | Optional. Defaults to the first configured teacher, or DropShapes student. |
| structured | boolean | Default true. Prefer JSON → markdown summary + structured object. |
| async | boolean | Default false. If true, returns 202 QUEUED and finishes in the background. |
Optional header Idempotency-Key: repeat the same key for the same account to replay the stored result instead of billing another run.
{
"id": "clx…",
"object": "research.result",
"status": "SUCCEEDED", // QUEUED | RUNNING | SUCCEEDED | FAILED
"domain": "HEALTH_RESEARCH",
"task": "summarize evidence",
"query": "…",
"accessibility": true,
"human_review": true,
"provider": "OPENAI",
"model": "gpt-4o-mini",
"output": "## Summary\n…", // markdown (from structured when enabled)
"structured": { // when structured=true
"summary": "…",
"findings": ["…"],
"gaps": ["…"],
"recommendations": ["…"],
"needs_human_review": ["…"],
"accessibility_notes": ["…"]
},
"citations": [
{ "id": "…", "title": "…", "source": "…", "url": null, "snippet": "…", "score": 0.82 }
],
"usage": { "tokens": 1200, "latency_ms": 3400 },
"notice": "…safety / education disclaimer…",
"created_at": "2026-09-09T…",
"completed_at": "2026-09-09T…"
}Citations come from the DropShapes domain corpus (RAG), not live web search. Treat them as workflow aids and verify important claims against primary sources.
POST /v1/research without async. Wait for the full JSON result.POST /v1/research/stream. SSE events: status, delta (JSON with a text field), done (final result object), or error.async: true → HTTP 202 with status: QUEUED. Poll GET /v1/research/:id until SUCCEEDED or FAILED, or listen for the webhook.{
"error": {
"type": "plan_required", // or rate_limit | quota_exceeded | not_found | …
"code": "research_plan_required",
"message": "Human-readable explanation"
}
}Common statuses: 401 invalid key, 403 plan required, 404 unknown id, 429 quota/rate limit.
POST /v1/webhooks using JSON fields url (required) and optional secret.research.completed with headers X-DropShapes-Event and X-DropShapes-Signature: sha256=<hmac> (HMAC-SHA256 of the raw body using your secret).event, created_at, and data (the research.result object).POST /v1/deployments / POST /research/deployments with name, domain, optional slug, task_hint, instructions, public.POST /v1/deployments/:slug/run with JSON query and optional task. Counts against the owner’s research quota.publishToken and an embed snippet for demos.# Sync research
curl -s https://api.dropshapes.com/v1/research \
-H "Authorization: Bearer ds_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-001" \
-d '{
"domain": "HEALTH_RESEARCH",
"task": "summarize evidence",
"query": "Explain trial results in plain language",
"accessibility": true,
"human_review": true
}'
# Retrieve / poll
curl -s https://api.dropshapes.com/v1/research/RESULT_ID \
-H "Authorization: Bearer ds_YOUR_KEY"
# Stream (SSE)
curl -N https://api.dropshapes.com/v1/research/stream \
-H "Authorization: Bearer ds_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"CODING","task":"document errors","query":"REST API 4xx/5xx guidance"}'
# Run a deployment
curl -s https://api.dropshapes.com/v1/deployments/health-brief/run \
-H "Content-Type: application/json" \
-H "X-DropShapes-Token: dpt_YOUR_TOKEN" \
-d '{"query":"What should a patient-friendly summary include?"}'Try the API
Uses your API key against the live backend. Prefer Sync for a first call; switch to Stream or Async to exercise those paths.
Deployment
Creates POST /v1/deployments/:slug/run with an embed snippet and publish token. Manage publishing in Account settings; use this page for the API guide. See the Deployments guide for auth headers and request fields. Requires Business (or admin).
Publish from Account settings
Create, review, and revoke hosted assistants under Deployments. Business plan or admin required.
Business plan includes API keys, 2,000 research requests/month, deployments, and webhooks. Contact us for partnerships.
Contact the API teamcontact@dropshapes.com · (855) 970-8003