API reference

Destinations

A destination is where results are pushed once a job succeeds. The config object is type-specific and stored envelope-encrypted at rest.

Create a destination#

POST/v1/destinations
Register a destination. Returns 201 with the created destination.
namerequired
string

Display name, 1 to 80 characters.

typerequired
string

One of snowflake, notion, sheets, slack, webhook.

configrequired
object

Type-specific configuration. Providers validate on first use.

bash
curl -X POST https://api.lirovo.ai/v1/destinations \
  -H "Authorization: Bearer $LIROVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "results-webhook",
    "type": "webhook",
    "config": { "url": "https://example.com/lirovo/webhook" }
  }'

List destinations#

GET/v1/destinations
List the tenant's destinations. Supports limit (1 to 100, default 25) and cursor. Returns { data, next_cursor }.

Destination object

idrequired
string

Destination id, e.g. dst_p9q8r7.

namerequired
string

Display name.

typerequired
string

The destination type.

statusrequired
string

One of active, paused, broken.

last_health_check_at
string (date-time) | null

Timestamp of the last health check.

last_health_status
string | null

Result of the last health check.

created_atrequired
string (date-time)

Creation timestamp.

bash
curl https://api.lirovo.ai/v1/destinations \
  -H "Authorization: Bearer $LIROVO_API_KEY"

Rotate the signing secret#

POST/v1/destinations/{id}/rotate-signing-secret
Rotate a webhook destination's HMAC signing secret. Returns the new secret once, in the same shape as create. Webhook destinations only; a non-webhook destination returns 422.
keep_old_for_seconds
integer

Optional grace window, an integer from 0 to 604800 (7 days), default 0. While it is set, deliveries are dual-signed with both the old and new secret so your verifier accepts either during cutover. 0 invalidates the old secret immediately, which is the right default for a leaked secret.

bash
curl -X POST https://api.lirovo.ai/v1/destinations/dst_p9q8r7/rotate-signing-secret \
  -H "Authorization: Bearer $LIROVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "keep_old_for_seconds": 3600 }'

Delete a destination#

DELETE/v1/destinations/{id}
Soft-delete a destination. Sets deleted_at and keeps the row so historical delivery wiring stays intact; subsequent reads return 404. Idempotent; returns { id, deleted_at }.
bash
curl -X DELETE https://api.lirovo.ai/v1/destinations/dst_p9q8r7 \
  -H "Authorization: Bearer $LIROVO_API_KEY"