๐Ÿกย Return back to the handbook home page

โ›ฐ๏ธย Why are we here?


๐Ÿš€ย Vision and mission

๐Ÿ“–ย Useful industry resources

๐Ÿ’ฅย How weโ€™re building the team


๐Ÿ’›ย Operating principes

๐Ÿ“ 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

๐Ÿ’ณย Expenses

๐Ÿ–๏ธย Vacations

๐Ÿง’ย Caregiver policy

๐Ÿ› ๏ธย 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: