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

EndpointMethodDescription
/api/uploadsGETObtain a signed URL for single-file upload
/api/uploadsPOSTInitiate a multipart upload
/api/jobsPOSTCreate 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

Overview | Vulgate AI