{"about":"Create a timeline by POSTing JSON matching `schema` to this URL. The response contains a `url` that opens it in the app. Items are the main points on the time axis; entries are sub-points listed under an item; links draw arcs between items or entries, typed by a link type (e.g. influenced / opposed). Refer to things by the short ids you give them.","endpoint":"https://timelinegraph.app/api/timelines","rules":["Required: `title`, and `items` (at least one), each with a `label` and a `date`.","Dates: a year number (negative for BCE) or text such as \"1905\", \"March 1905\", \"1905-03-14\", \"c. 500 BCE\" or \"1930s\". For a span such as a lifetime, put its start in `date` and the span in `dateLabel` (\"1596–1650\").","Optional per item: `id` (a short slug that links refer to), `era`, `description`, `url`, `tags`, and `entries`: sub-points listed under the item, as strings, or as `{ \"id\", \"text\" }` when a link points at them.","Optional `eras`: `[{ \"id\", \"label\", \"start\", \"end\" }]`, coloured periods; when they have `start` dates, items fall into them by date.","Optional `links`: `[{ \"from\", \"to\", \"type\" }]` between item or entry ids. `type` is \"influenced\" (arc below the axis) or \"opposed\" (above), unless you define `linkTypes`: `[{ \"id\", \"label\", \"inverseLabel\", \"side\": \"above\" | \"below\" }]`.","Optional `tags`: `[{ \"id\", \"label\", \"color\" }]`, used in items’ and entries’ `tags`.","Colours are optional hex strings like \"#c98a1a\"; leave them out to use the built-in palette."],"withoutPost":"Chat assistants that cannot send a POST can give the user a link instead: /import#json= followed by the URL-encoded JSON, as in `exampleLink`. See /llms.txt for that, a shorter compressed link and an HTML file.","exampleLink":"https://timelinegraph.app/import#json=%7B%22title%22%3A%22Early%20modern%20philosophy%22%2C%22eras%22%3A%5B%7B%22id%22%3A%22rationalism%22%2C%22label%22%3A%22Rationalism%22%2C%22start%22%3A1600%7D%2C%7B%22id%22%3A%22enlightenment%22%2C%22label%22%3A%22Enlightenment%22%2C%22start%22%3A1700%2C%22end%22%3A%221789%22%7D%5D%2C%22tags%22%3A%5B%7B%22id%22%3A%22epistemology%22%2C%22label%22%3A%22Epistemology%22%2C%22color%22%3A%22%232f86c9%22%7D%5D%2C%22items%22%3A%5B%7B%22id%22%3A%22descartes%22%2C%22label%22%3A%22Ren%C3%A9%20Descartes%22%2C%22date%22%3A1596%2C%22dateLabel%22%3A%221596%E2%80%931650%22%2C%22tags%22%3A%5B%22epistemology%22%5D%2C%22entries%22%3A%5B%7B%22id%22%3A%22cogito%22%2C%22text%22%3A%22Cogito%2C%20ergo%20sum%22%7D%2C%22Mind%E2%80%93body%20dualism%22%5D%7D%2C%7B%22id%22%3A%22spinoza%22%2C%22label%22%3A%22Baruch%20Spinoza%22%2C%22date%22%3A1632%2C%22entries%22%3A%5B%22God%20or%20Nature%20is%20one%20substance%22%5D%7D%2C%7B%22id%22%3A%22hume%22%2C%22label%22%3A%22David%20Hume%22%2C%22date%22%3A1711%2C%22tags%22%3A%5B%22epistemology%22%5D%2C%22entries%22%3A%5B%7B%22id%22%3A%22induction%22%2C%22text%22%3A%22The%20problem%20of%20induction%22%7D%5D%7D%5D%2C%22links%22%3A%5B%7B%22from%22%3A%22descartes%22%2C%22to%22%3A%22spinoza%22%2C%22type%22%3A%22influenced%22%7D%2C%7B%22from%22%3A%22cogito%22%2C%22to%22%3A%22induction%22%2C%22type%22%3A%22opposed%22%7D%5D%7D","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1},"subtitle":{"type":"string"},"eras":{"description":"Periods drawn as coloured bands. Defaults to a single era.","type":"array","items":{"type":"object","properties":{"id":{"description":"Short id items can use in `era`. Defaults to the label.","type":"string","minLength":1},"label":{"type":"string","minLength":1},"start":{"description":"First day, month or year of the era: a year number (negative for BCE) or text such as \"1905\", \"March 1905\", \"1905-03-14\" or \"500 BCE\". When eras have dates, items fall into them by date.","type":["number","string"]},"end":{"description":"Last day, month or year of the era (inclusive), same forms as `start`. Omitted = until the next era starts.","type":["number","string"]},"color":{"type":"string","pattern":"^#([0-9a-f]{3}|[0-9a-f]{6})$"}},"required":["label"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Short id items/entries can use in `tags`. Defaults to the label.","type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"description":"Tagged dots are drawn as slices in their tag colours.","type":"string","pattern":"^#([0-9a-f]{3}|[0-9a-f]{6})$"}},"required":["label"],"additionalProperties":false}},"linkTypes":{"description":"Kinds of connection. Defaults to \"influenced\" (below the axis) and \"opposed\" (above).","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Used as `type` in links, e.g. \"influenced\"."},"label":{"type":"string","minLength":1,"description":"Read from the `from` side, e.g. \"Influenced\"."},"inverseLabel":{"description":"Read from the `to` side, e.g. \"Influenced by\".","type":"string"},"color":{"type":"string","pattern":"^#([0-9a-f]{3}|[0-9a-f]{6})$"},"side":{"description":"Which side of the axis the arcs bulge to. Default \"below\".","type":"string","enum":["above","below"]}},"required":["id","label"],"additionalProperties":false}},"items":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"description":"Short id used by links. Defaults to the label.","type":"string","minLength":1},"label":{"type":"string","minLength":1},"date":{"description":"A year (negative for BCE), or text such as \"1905\", \"March 1905\", \"14 March 1905\", \"1905-03-14\", \"c. 500 BCE\", \"1930s\" or a range like \"427–347 BCE\" (placed at its start).","type":["number","string"]},"dateLabel":{"description":"Shown instead of the formatted date, e.g. \"427–347 BCE\".","type":"string"},"era":{"description":"Era id or label. Ignored when eras have start years.","type":"string","minLength":1},"description":{"type":"string"},"url":{"type":"string"},"image":{"type":"string"},"tags":{"description":"Tag ids or labels.","type":"array","items":{"type":"string","minLength":1}},"entries":{"description":"Sub-points listed under the item (events, works, ideas…), as text or {id, text, tags, url}.","type":"array","items":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"id":{"description":"Give an id to link to this entry.","type":"string","minLength":1},"text":{"type":"string","minLength":1},"tags":{"type":"array","items":{"type":"string","minLength":1}},"url":{"description":"A link opened from the entry, e.g. its source.","type":"string"}},"required":["text"],"additionalProperties":false}]}}},"required":["label","date"],"additionalProperties":false},"description":"The main points, placed on the time axis by date."},"links":{"description":"Arcs between items and/or entries.","type":"array","items":{"type":"object","properties":{"from":{"type":"string","minLength":1,"description":"Id or label of an item, or id of an entry."},"to":{"type":"string","minLength":1,"description":"Id or label of an item, or id of an entry."},"type":{"type":"string","minLength":1,"description":"A link type id."}},"required":["from","to","type"],"additionalProperties":false}}},"required":["title","items"],"additionalProperties":false,"description":"A timeline: eras, main points (items) with sub-points (entries), and typed connections between them."},"example":{"title":"Early modern philosophy","eras":[{"id":"rationalism","label":"Rationalism","start":1600},{"id":"enlightenment","label":"Enlightenment","start":1700,"end":"1789"}],"tags":[{"id":"epistemology","label":"Epistemology","color":"#2f86c9"}],"items":[{"id":"descartes","label":"René Descartes","date":1596,"dateLabel":"1596–1650","tags":["epistemology"],"entries":[{"id":"cogito","text":"Cogito, ergo sum"},"Mind–body dualism"]},{"id":"spinoza","label":"Baruch Spinoza","date":1632,"entries":["God or Nature is one substance"]},{"id":"hume","label":"David Hume","date":1711,"tags":["epistemology"],"entries":[{"id":"induction","text":"The problem of induction"}]}],"links":[{"from":"descartes","to":"spinoza","type":"influenced"},{"from":"cogito","to":"induction","type":"opposed"}]}}