Overview
The Vulgate Ingest API lets you upload files and process them into searchable documents within your libraries. Ingesting is a two-step process: first you upload a file, then you create a document and start an ingest job that processes it.
Base URL
All Ingest API endpoints are relative to your Vulgate instance:
https://vulgate.ai/api
Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/uploads | GET | Obtain a signed URL for single-file upload |
/api/uploads | POST | Initiate a multipart upload |
/api/jobs | POST | Create a document and start an ingest job |
Authentication
All endpoints require authentication via a Bearer token in the Authorization header:
Authorization: Bearer <your-api-key>
API keys are scoped to a team and carry the permissions of the team owner. See Getting Started for how to obtain and configure your API key.
Quick example
Upload a PDF and start ingesting it:
Step 1 — Get a signed upload URL:
curl -G "https://vulgate.ai/api/uploads" \
-H "Authorization: Bearer $VULGATE_API_KEY" \
--data-urlencode "name=document.pdf" \
--data-urlencode "type=application/pdf"
Step 2 — Upload the file to the signed URL:
curl -X PUT "<signed-url-from-step-1>" \
-H "Content-Type: application/pdf" \
-H "X-Amz-Meta-Name: document.pdf" \
--data-binary @document.pdf
Step 3 — Create a document and start ingestion:
curl -X POST "https://vulgate.ai/api/jobs" \
-H "Authorization: Bearer $VULGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"files": [{ "id": "<file-id-from-step-1>" }]
}'
Next steps
- Uploading Files — learn about single and multipart upload modes
- Starting the Ingest Process — create documents and configure ingest jobs