🏡 Return back to the handbook home page

⛰️ Why are we here?


🚀 Vision and mission

📖 Useful industry resources

💥 How we’re building the team


💛 Operating principles

📍 Where are the team based

🗺️ Where we hire and why

📅 Company cadence

🧍 Weekly standups

✋ Biweekly all hands

🎯 Biweekly happy hours

🗣️ Communication

💪 How we’ll support you?


🛫 Company onboarding

⭐ Benefits

🤝 Share options

💬 Sharing your view

💵 Compensation

📗 Policies

🛠️ Engineering at Junction


🔰 Engineering values

🌀 Engineering cycles

🎯 API design guidelines

🕛 Managing issues

📞 On call

🚀 Progression

Schema designs

This document covers general API structure. For data schema design of specific vertical, check out the following:

General

Vital API and Org Management API

Core concepts:

Vital API is the SaaS application plane:

Org Management API is the SaaS control plane:

Case studies:

Field naming

General

Standard fields

Standard fields

Pagination

General

Prefer cursor-based pagination whenever possible. For example:

Use offset-based pagination only when the use case strictly requires:

  1. bidirectional pagination; and
  2. the ability to jump between pages.

… which is rarely observed in practice.

It is always preferrable to provide more filtering options — so that the result set can be narrowed down — over providing precise offset-based pagination to walk over the whole dataset.

Cursor-based pagination (Recommended)

Query parameter:

Response field:

Copy

GET /v2/data?next_cursor=bm90IGlwc3VtIGxvcmVuIGlwc3Vt

{
  "credentials": [
    { ... },
    { ... },
  ],
  "next_cursor": "bG9yZW0gaXBzdW0gbG9yZW0gaXBzdW0="
}

Offset-based pagination

Query parameters:

Response field: