Quickstart
Read and write your first records in a few minutes.
Before you start
You need two things:
- Access to a workspace. Each workspace has its own web app at a subdomain like
acme.standards.new, and you join one by invitation. If you don't have access yet, ask whoever administers your organization's workspace. The REST API is shared: every request goes toapi.standards.new, and your key decides which workspace you reach. - An API key. Create one from the API keys area of the web app, or with
standards keys create— see Authentication. Copy the secret when it appears; it is shown only once.
List records
Records are grouped by object — the equivalent of a table. The examples below use contacts; run standards schema list or the list objects endpoint to see the objects in your own workspace.
The CLI tab installs the standards binary and saves your key to a local profile first — you only do that once.
curl https://api.standards.new/v1/records/contacts \
-H "Authorization: Bearer stndrds_your_api_key"# Install the CLI
npm i -g @stndrds/cli
# Save your instance profile and key
standards login --url https://api.standards.new/v1 --name prod --key stndrds_your_api_key
# List records
standards records list contacts --format table --limit 5A successful response returns { data, page }, where data is the array of records and page carries { limit, hasMore, total, countMode }. If you get a 401, check the Authorization header, and that the key hasn't expired or been revoked. A 404 means the object name isn't in your schema.
Create a record
Writing works the same way. Over HTTP, wrap the record's values in a data object; the CLI does that wrapping for you.
curl https://api.standards.new/v1/records/contacts \
-H "Authorization: Bearer stndrds_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "data": { "firstName": "Ada", "lastName": "Lovelace" } }'standards records create contacts --data '{"firstName":"Ada","lastName":"Lovelace"}'The response is the created record, including its id and the label rendered from your schema. Use that id to fetch, update, or delete it — note that updating takes the values unwrapped, without the data object.
Adjust the attribute names to match your own object: a 400 means an attribute doesn't exist or a required one is missing.
Next steps
You can now read and write records. From here:
- Working with records — filtering, pagination, and the record lifecycle.
- Permissions — what your key is allowed to do.
- Errors — the unified error envelope.
- CLI — the full
standardscommand surface. - SDK — define your schema in TypeScript and build on it.