API Documentation

Everything you need to build your own export tool or integrate with Delibr's API before the shutdown.

Authentication

All requests require two HTTP headers:

HeaderValue
api-keyYour personal API key (generate in Delibr: User Settings → Zapier API)
x-user-emailYour 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.

Endpoints

POST /api/team/getAll

Returns all teams the authenticated user belongs to.

Request body

{
  "email": "you@company.com"
}

Response

[
  { "id": "fJbkRLc68JWCZqXvB", "name": "My Team" },
  { "id": "usPDEfnRphqbiapHT", "name": "Product Team" }
]

POST /api/collection/getAll

Returns all collections in a given team.

Request body

{
  "email": "you@company.com",
  "groupId": "<team-id>"
}

Response

[
  { "id": "woAcjjtFqM3GuAGmM", "name": "Team node" },
  { "id": "aaHqB3WBWDEQeg22P", "name": "Action items" }
]

GET /api/collections/{collectionId}

Returns a single collection including its child document IDs.

Response

{
  "collection": {
    "id": "woAcjjtFqM3GuAGmM",
    "name": "Team node",
    "description": "",
    "children": ["mv6SdEM3hcqEK8zFM", "EQEsNqvQcteoZ4nso"]
  }
}

GET /api/documents/{documentId}

Returns a full document with its recursive content tree and comments.

Response

{
  "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.

Export flow

A complete data export follows these four steps:

  1. Get teams POST /api/team/getAll with your email → returns a list of teams.
  2. Get collections POST /api/collection/getAll with your email and a team ID → returns collections in that team.
  3. Get child document IDs GET /api/collections/{id} for each collection → returns an array of document IDs.
  4. Get documents 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.

Data types

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 }[];
};