Skip to content

Collection routes: export, query

The Collection Verbs export, query as api.sb routes, with inputs, result, refusals and an example.

Reference for Collection, one group of Collection routes.

Collection.export

Export writes a Collection’s records to a file or the Startup’s warehouse, once or on a schedule. Verb page.

Text
POST /{namespace}/collections/{collection}/export

Path: collection. Body, as JSON: the other inputs. Emits Collection.exported.

Inputs

InputTypeRequiredDescription
collectionCollectionrequiredThe Collection to export.
tostringrequiredA file format, or the warehouse Integration that receives it.
cadencestringHow often it repeats; omitted, it runs once.

Returns

OutputTypeRequiredDescription
fileFileThe exported File, for a one-time export.
collectionCollectionrequiredThe Collection exported.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/collections/collection_txTK8QorKn/export \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"Example to"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "file": {
    "$id": "https://api.sb/leaseline.app/files/file_V1AuhyCTsH",
    "$type": "File",
    "contentType": "Example content type",
    "size": 1
  },
  "collection": {
    "$id": "https://api.sb/leaseline.app/collections/collection_txTK8QorKn",
    "$type": "Collection",
    "id": "Example id",
    "type": [
      "noun_v0akLUrXCN"
    ]
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Collection.export",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Collection.query

Query reads any Nouns the caller’s Permissions allow, by SQL or a Relationship path, across every System in one call. Verb page.

Text
POST /{namespace}/collections/query

Body, as JSON: the inputs. Emits Collection.queried.

Inputs

InputTypeRequiredDescription
querytextrequiredSQL, or a Relationship path such as customer.subscriptions.invoices.
savebooleanTrue saves it as a Collection defined by the query.

Returns

OutputTypeRequiredDescription
rowsjsonrequiredThe matching records.
collectionCollectionrequiredThe Collection the query read.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/collections/query \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Example query"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "rows": {},
  "collection": {
    "$id": "https://api.sb/leaseline.app/collections/collection_txTK8QorKn",
    "$type": "Collection",
    "id": "Example id",
    "type": [
      "noun_v0akLUrXCN"
    ]
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Collection.query",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}