chronoskin API 4.2.0 / all regions up
00 / Content platform

Content as data, for every surface

chronoskin stores what you publish as structured documents and answers any question about them in one query, from the web site to the shop shelf.

  • + Typed schema
  • + Live queries
  • + Edge cache in 34 cities
  • + History of every field
production / query / articles-by-topic mkjots 3 editing
Queryfrom article
where topic == "field-notes"
  and published < now()
order published desc
take 2 {
  title,
  "author": author->name,
  "words": count(body)
}
Result / 38 ms / 2 documents[
  { "title": "Mapping a river in winter",
    "author": "Mira Kovac",
    "words": 1840 },
  { "title": "What the tide tables leave out",
    "author": "Jon Oyelaran",
    "words": 2212 }
]
// cached at the edge for 60 s
  • Queries a dayA12.4bn
  • Median answerA238ms
  • Edge citiesA334
  • Uptime, 12 monthsA499.99%
01 / Capabilities

Six parts, one store

Each part works alone and all of them read the same documents. Nothing is copied between systems.

Full feature matrix
B1

Typed schema

Describe documents in code. Editors get a form, the API gets types.

B2

Query language

Filter, join and shape the answer in one request, however deep the references go.

B3

Edge delivery

Answers are cached in 34 cities and dropped the moment a document changes.

B4

Editing together

Everyone types in the same document. Each field shows who is in it.

B5

History

Every change to every field is kept for a year and can be put back.

B6

Webhooks

Tell a build, a search index or a shop when a matching document is published.

02 / Changes

Shipped this month

The API is versioned by date. A query pinned to a version keeps its answer.

03 / Start

A first query in five minutes, free up to 100,000 documents

Create a project

Feature matrix

Every capability of chronoskin and the plan it starts in, line by line.

01 / Compare

Three plans, one API

Limits are per project and reset on the first of the month. Prices are in euros, without tax.

8 of 31 lines
CapabilityFreeTeamScaleIncluded
Documents+++100,000
API requests a month ?Cached answers are not counted, only queries that reach the store.+++250,000
Datasets+++2
Field history, days+++3
Scheduled publishing.++0
Roles per field.++0
Single sign-on..+0
Private edge region..+0
02 / Questions

Limits, explained

What counts, what does not, and what happens at the edge of a plan.

What happens when a project reaches a limit?

Nothing stops. Reads keep working, you get a message at 80% and at 100%, and the plan is settled at the end of the month.

Is a draft a document?

A draft and its published version count as one document.

Can a dataset be moved between regions?

Yes, on Team and Scale. A move copies the dataset, then switches reads over.

How long is history kept after a downgrade?

For 30 days, so that a change of plan never deletes anything at once.

Your project this month

Team
Documents412,000 / 500,000
82%
API requests0.9 / 2.0 m
45%
  1. Platform
  2. Model
  3. article

Content model

The types of the production dataset and the fields each one holds.

article

7 fields Live Draft Deprecated
FieldTypeStateFilled
titlestring, required Live100%
slugslug, from title Live100%
authorreference to author Live98%
bodyrich text with figure Live97%
reading_timenumber, computed Draft0%
subtitlestring Deprecated12%
Fields 1 to 6 of 7
02 / Rules

What the store checks

Rules run when a document is published, never while it is typed.

Modelling an article

A type lists what a document is, not how a page shows it.

Start from the question

Write the queries the site will ask before the fields. If nothing asks for subtitle, the field is a habit and can go.

Three checks before publishing a type

  • Every reference names the type it points at.
  • A computed field such as reading_time has no form control.
  • A deprecated field stays readable until no document fills it.

Changes to a type are a migration, and each one is kept in the history.

schema / articlets
type article = {
  title: string
  author: ref<author>
  body: text // with figure
}

Validation

article
  • Title is unique within the dataset
  • Author must be published reference check
  • Body has a figure warning only

No migrations waiting

A change to a type that touches stored documents will be listed here before it runs.

Plan a migration
  1. Platform
  2. Contact
  3. Project

Start a project

Tell us what you publish and where it has to appear. An engineer answers within one working day.

01 / What happens next

From form to first query

  1. We read your noteand open an empty project in the region you chose.
  2. A call of 30 minutesto sketch the first three types together.
  3. You importa sample of real content and run a query.

Free projects need no call. Leave the note empty and the project opens at once.

The form was not sent. Check the work e-mail address below.

This address has no domain ending.
Lowercase letters, digits and hyphens.
Cancel

Who answers

Online
joJon OyelaranSolutions engineer

I moved a newsroom of 40 editors onto chronoskin last year. Bring the awkward content first.

Terminalsh
# or start without us
npx chronoskin init field-notes-prod
npx chronoskin import ./sample.ndjson

Modelling guide Limits Query reference Status