standards

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 to api.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 5

A 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 standards command surface.
  • SDK — define your schema in TypeScript and build on it.