Overview
API reference
Base URL: https://rasternivo-api.swiftinfocorp.com. All requests use HTTPS. Each endpoint has its own page in the menu, with parameters, responses, errors and examples.
- API key calls send
Authorization: Bearer YOUR_API_KEY; the scope needed is shown. - Session calls use the cookie from
POST /v1/auth/login. Changes also need theX-CSRF-Tokenheader. To work in a workspace other than your personal one, sendX-Workspace-Id.
Conversions
| Endpoint | Auth | Description |
|---|---|---|
POST /v1/conversions | conversions:write | Upload a PDF. Needs Idempotency-Key. Returns 202 and the job. Details |
GET /v1/conversions | conversions:read | List jobs: ?limit=&cursor= |
GET /v1/conversions/{id} | conversions:read | Get a job. States |
GET /v1/conversions/{id}/result | conversions:read | Get download links. Details |
POST /v1/conversions/{id}/cancel | conversions:write | Cancel a job. Safe to repeat. |
GET /v1/files/{token} | Signed link | Download a JPG or ZIP. Use the links from /result. |
Usage
| Endpoint | Auth | Description |
|---|---|---|
GET /v1/usage | usage:read | Plan, credits and limits. Details |
GET /v1/activity | usage:read | The credit log. Details |
API keys
| Endpoint | Auth | Description |
|---|---|---|
POST /v1/api-keys | Session | Create a key: {label, scopes, password}. The secret is returned once. |
GET /v1/api-keys | Session | List keys, without secrets |
DELETE /v1/api-keys/{id} | Session | Revoke a key |
Webhook endpoints
| Endpoint | Auth | Description |
|---|---|---|
POST /v1/webhook-endpoints | Session | Register: {url, events, description}. The secret is returned once. |
GET /v1/webhook-endpoints | Session | List endpoints |
DELETE /v1/webhook-endpoints/{id} | Session | Remove an endpoint |
POST /v1/webhook-endpoints/{id}/rotate-secret | Session | New secret; the old one keeps signing for 24 hours |
POST /v1/webhook-endpoints/{id}/test | Session | Send a test event |
GET /v1/webhook-endpoints/{id}/deliveries | Session | Recent deliveries and attempts |
Accounts and sessions
| Endpoint | Auth | Description |
|---|---|---|
POST /v1/auth/register | None | {email, password, accept_terms}. Returns 202. |
POST /v1/auth/verify-email | None | {token}. Starts the trial. |
POST /v1/auth/resend-verification | None | {email}. Returns 202. |
POST /v1/auth/login | None | {email, password}. Sets the cookie; returns {account, csrf_token}. |
POST /v1/auth/logout | Session | Sign out |
POST /v1/auth/password-reset/request | None | {email}. Returns 202. |
POST /v1/auth/password-reset/confirm | None | {token, new_password} |
GET /v1/account | Session | Your account, workspaces and CSRF token |
GET /v1/account/sessions | Session | Your sessions |
DELETE /v1/account/sessions/{id} | Session | Sign out a session |
Billing
| Endpoint | Auth | Description |
|---|---|---|
GET /v1/billing | Session | Plan, trial, subscription, credits and plans on sale |
GET PUT /v1/billing/profile | Session | Billing details for GST invoices |
POST /v1/billing/checkout | Session | {plan, interval}. Returns {checkout_url}. |
POST /v1/billing/cancel | Session | Cancel the subscription |
POST /v1/billing/change-plan | Session | {plan, interval}: move to a cheaper plan from the next charge |
GET /v1/billing/invoices | Session | List GST invoices |
GET /v1/billing/invoices/{id}/pdf | Session | Download an invoice |
Service status
| Endpoint | Auth | Description |
|---|---|---|
GET /healthz | None | The service is running |
GET /readyz | None | The service is ready to take requests |