Docs Search API
Search your Jamdesk documentation programmatically with the Docs Search API. Power support chatbots, Slack bots, custom search, and AI agents with accurate, up-to-date answers from your docs.
The Docs Search API gives you programmatic access to your documentation content via semantic search. One endpoint — POST /_api/search — takes a natural language query and returns the most relevant passages from your docs, ranked by relevance.
Use Cases
Quick Start
Go to Project Settings → API Keys in the Jamdesk dashboard. Click Generate Key, give it a name, and copy the key — it starts with jdk_ and is only shown once.
Send a POST request to /_api/search on your docs subdomain:
curl -X POST https://your-project.jamdesk.app/_api/search \
-H "Authorization: Bearer jdk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"query": "How do I set up a custom domain?", "limit": 5}'The response returns an array of matching passages with relevance scores and page metadata:
{
"query": "How do I set up a custom domain?",
"results": [
{
"title": "Custom Domains",
"section": "Step 4: Deploy",
"slug": "deploy/custom-domains",
"content": "To add a custom domain, go to Project Settings and enter your domain. You'll need to add a CNAME record pointing to your Jamdesk subdomain.",
"url": "https://your-project.jamdesk.app/deploy/custom-domains",
"score": 0.94
}
],
"total": 1,
"durationMs": 85
}Authentication
All requests require a Bearer token in the Authorization header.
Authorization: Bearer jdk_your_key_here
Generating API Keys
In the Jamdesk dashboard, navigate to your project and click Settings.
Select the API Keys tab.
Click Generate Key, enter a descriptive name (e.g. "Intercom chatbot"), and click Create.
Copy the key immediately — it starts with jdk_ and is shown only once. Store it in your secrets manager or environment variables.
Key Management
API keys are scoped to a single project. A key for acme.jamdesk.app cannot query a different project's documentation.
| Rule | Detail |
|---|---|
| Prefix | All keys start with jdk_ |
| Scope | One key per project — cannot access other projects |
| Rotation | Revoke and regenerate anytime from Project Settings |
| Storage | Store in environment variables or a secrets manager — never commit to source control |
Revoking Keys
To revoke a key, go to Project Settings → API Keys, find the key by name, and click Revoke. Revoked keys stop working immediately. Generate a new key to replace it.
Rate Limits
Requests are rate-limited per API key.
| Plan | Limit |
|---|---|
| Pro | 60 requests / minute |
| Enterprise | Custom — contact support |
When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds to wait.
If you need higher rate limits for a production integration, contact us to discuss Enterprise options.
Postman Collection
We publish an official Postman workspace with the full OpenAPI spec and a ready-to-fork collection so you can test requests in the Postman UI without writing any code.
After forking the collection, you must update two collection variables before any request will work:
baseUrl— Set to your own Jamdesk docs site. For most customers this ishttps://your-project.jamdesk.app(replaceyour-projectwith your project slug). Custom-domain customers use their own host. Customers serving docs under a sub-path include the full path (e.g.https://example.com/docs).apiKey— Replace the placeholder with a real key generated in Dashboard → Project Settings → API Keys.
