Application developer
You write code that uses the platform: an application that reads and writes workspace data, a service you put behind the gateway, or a tool that administers tenants. Callers only ever reach the gateway, which asks Access before it forwards anything; this page shows where each part of that conversation is documented and which guide to follow for each job.
Start here#
- Platform overview, especially the request walked end to end.
- Concepts, for tenants, principals, workspaces, routes and grants.
- Quickstart, to run everything locally and send a first request.
- The guide for what you are building, below.
What are you building?#
| You want to | Follow | Then keep open |
|---|---|---|
| Store and query data for an application | Build an app on Data | Data API, Typed client, Modeling |
| Expose your own HTTP service to platform callers | Put a service behind the gateway | Upstream identity, Gateway spec §3 |
| Automate tenant, principal and grant administration | Onboard a tenant, Manage access | Access API |
| Script against a deployment from a terminal | CLI usage | CLI spec §5, §6 |
| Try Data on its own first | Data: getting started | Data configuration |
Contracts you code against#
| Contract | Owner | Reference |
|---|---|---|
| Data's v1 HTTP API: envelopes, filters, cursors, validators, idempotency, errors | Data | Data spec §9, Data API |
| Data's version and compatibility promise | Data | Data spec §13 |
| The typed client and its errors | Data | Typed client |
| The signed identity your upstream receives | Gateway | Gateway spec §7.1, §7.4 |
| The route table | Gateway | Gateway spec §3 |
| The gateway's own error codes | Gateway | Gateway spec §2.5 |
| Login, tokens, decisions and administration | Access | Access API, Access spec |
Each spec is normative: when a guide or an example disagrees with it, the spec is right and the guide is a bug.
Your local loop#
| Task | Page |
|---|---|
| Run the whole platform | Quickstart |
| Choose a run mode, run the tests | Development |
| Run Data alone or with a worker | Data: getting started |
| Run the gateway with fixtures | Development: gateway with fixtures |
When a call fails#
Start with Troubleshoot a request: it tells you which service produced the answer and sends you to the right entry.
| Answer | Where |
|---|---|
A gateway error such as 401 unauthorized, 403 workspace_forbidden or 502 bad_gateway | Gateway troubleshooting |
A Data error such as 403 FORBIDDEN, 409, 412 PRECONDITION_FAILED or 422 RESULT_TOO_LARGE | Data troubleshooting, Data spec §9.7 |
| An Access refusal on login, tokens or administration | Access troubleshooting |
| A typed client error | Typed client: errors |