API quickstart
Make your first Synjar API call in 5 minutes.
Prerequisites
- Synjar account (Cloud or self-hosted)
- API key from Settings > API Keys
Step 1: Set up your environment
export SYNJAR_API_KEY="your-api-key"
export SYNJAR_BASE_URL="https://api.synjar.com/v1" # Cloud
# OR
export SYNJAR_BASE_URL="https://your-domain.com/api/v1" # Self-hosted
Step 2: List your workspaces
curl "${SYNJAR_BASE_URL}/workspaces" \
-H "Authorization: Bearer ${SYNJAR_API_KEY}"
Response:
[
{
"id": "ws_abc123",
"name": "My Workspace",
"createdAt": "2025-01-01T12:00:00Z"
}
]
Step 3: Upload a document
curl -X POST "${SYNJAR_BASE_URL}/workspaces/ws_abc123/documents" \
-H "Authorization: Bearer ${SYNJAR_API_KEY}" \
-F "file=@document.pdf" \
-F "title=My Document"
Response:
{
"id": "doc_xyz789",
"title": "My Document",
"uploadStatus": "COMPLETED",
"processingStatus": "PROCESSING"
}
Step 4: Wait for processing
Check document status until ready:
curl "${SYNJAR_BASE_URL}/documents/doc_xyz789" \
-H "Authorization: Bearer ${SYNJAR_API_KEY}"
Wait for processingStatus: "VERIFIED".
Step 5: Search your documents
curl -X POST "${SYNJAR_BASE_URL}/workspaces/ws_abc123/search" \
-H "Authorization: Bearer ${SYNJAR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"query": "What is this document about?"}'
Response:
{
"results": [
{
"documentId": "doc_xyz789",
"content": "This document describes...",
"score": 0.95
}
]
}
Code examples
JavaScript
const apiKey = process.env.SYNJAR_API_KEY;
const baseUrl = 'https://api.synjar.com/v1';
// Search documents
async function search(workspaceId, query) {
const response = await fetch(`${baseUrl}/workspaces/${workspaceId}/search`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ query }),
});
return response.json();
}
const results = await search('ws_abc123', 'What is the refund policy?');
console.log(results);
Python
import os
import requests
api_key = os.environ['SYNJAR_API_KEY']
base_url = 'https://api.synjar.com/v1'
def search(workspace_id, query):
response = requests.post(
f'{base_url}/workspaces/{workspace_id}/search',
headers={'Authorization': f'Bearer {api_key}'},
json={'query': query}
)
return response.json()
results = search('ws_abc123', 'What is the refund policy?')
print(results)
Next steps
- Authentication guide - Learn about auth options
- Error handling - Handle API errors
- Rate limits - Understand usage limits
- Search links - Public search API
See also
- API overview
- Search links - User guide