Everything you need to build your own export tool or integrate with Delibr's API before the shutdown.
All requests require two HTTP headers:
| Header | Value |
|---|---|
api-key | Your personal API key (generate in Delibr: User Settings → Zapier API) |
x-user-email | Your account email address |
Base URL: https://app.delibr.com
Your API key is user-specific — you can only access data you have permission to see in Delibr.
Returns all teams the authenticated user belongs to.
{
"email": "you@company.com"
}
[
{ "id": "fJbkRLc68JWCZqXvB", "name": "My Team" },
{ "id": "usPDEfnRphqbiapHT", "name": "Product Team" }
]
Returns all collections in a given team.
{
"email": "you@company.com",
"groupId": "<team-id>"
}
[
{ "id": "woAcjjtFqM3GuAGmM", "name": "Team node" },
{ "id": "aaHqB3WBWDEQeg22P", "name": "Action items" }
]
Returns a single collection including its child document IDs.
{
"collection": {
"id": "woAcjjtFqM3GuAGmM",
"name": "Team node",
"description": "",
"children": ["mv6SdEM3hcqEK8zFM", "EQEsNqvQcteoZ4nso"]
}
}
Returns a full document with its recursive content tree and comments.
{
"properties": { "title": "Sprint planning" },
"document": {
"id": "mv6SdEM3hcqEK8zFM",
"type": "node",
"content": [{ "text": "Jul 2020" }],
"children": [...],
"comments": [],
"isPlaceholder": false
}
}
Nodes with isPlaceholder: true are empty placeholders and can be skipped.
A complete data export follows these four steps:
POST /api/team/getAll with your email → returns a list of teams.
POST /api/collection/getAll with your email and a team ID → returns collections in that team.
GET /api/collections/{id} for each collection → returns an array of document IDs.
GET /api/documents/{id} for each document ID → returns the full document tree.
Tip: limit concurrent requests (e.g. 5 at a time) to avoid overwhelming the API.
TypeScript definitions for the API responses:
type Team = {
id: string;
name: string;
};
type CompactCollection = {
id?: string;
name?: string;
description?: string;
children: string[]; // document IDs
};
type CompactNotion = {
id?: string;
type?: string;
content: CompactContentItem[];
children: CompactNotion[]; // recursive
isPlaceholder?: boolean;
comments?: CompactComment[];
};
type CompactContentItem = {
text?: string;
reference?: {
type: "documentRef" | "bulletRef";
docName: string;
content: string;
};
image?: string;
};
type CompactComment = {
text: string;
replies?: { text: string }[];
};