Partial update. Keys present in data replace their values; null
clears one. 409 with detail code deleted while the record is
soft-deleted: restore it first. With a pending draft the update still
applies, and merging the draft later replaces the fields the draft
changes.
A unique value (1-255 printable ASCII characters) that makes retrying
this request safe. The first response (below 500) is stored for 24
hours per user or API key; retries with the same key and the same
request get it again with an Idempotent-Replayed: true header. The
same key with a different request is refused with 400; a retry while
the first request is still running gets 409.
Optional reason for the change, kept with the record revision, schema
change or field migration it makes (at most 500 characters once
decoded). Percent-encoded UTF-8, as
encodeURIComponent encodes it, so any language fits in a header:
Rettet%20stavefejl%20p%C3%A5%20forsiden. Plain ASCII may be sent
as is. Other bytes are 400.
How rich text fields read in the records and drafts returned (and in records they embed with expand): document, the stored ProseMirror JSON document; html, an HTML fragment of known elements with every text and attribute escaped, to put in a page as it is; or markdown (GitHub Flavored), which reads back as the same document when written. Images render with their URLs, so they need no expand: in HTML a WebP rendition at most 1600 pixels wide with its width and height (an SVG as itself), in Markdown the asset's image_url. An image whose asset was deleted is left out of HTML, and written as its asset ID in Markdown. Record history keeps documents.
A rich text value is written as Markdown (GitHub Flavored, a string)
or as a ProseMirror JSON document ({"type": "doc", "content": [...]}),
and stored and read as the document (rich_text reads it as HTML or
Markdown). Markdown is converted as closely as the vocabulary allows:
headings below h3 become h3, task list items plain items, footnotes and
raw HTML text. A document uses the web editor's vocabulary (Tiptap's
StarterKit and tables) and nothing else; another name is refused with
invalid_format, naming ours where one fits (strong is bold):
blocks: paragraph, heading (level 1-3), blockquote,
bulletList and orderedList (start, type) of listItem
(starting with a paragraph), codeBlock (language),
horizontalRule, and table of tableRow of tableHeader or
tableCell (colspan, rowspan, colwidth, align); any block
may have dir (auto, ltr, rtl);
inline: text (non-empty) and hardBreak;
marks on text: bold, italic, strike, underline, code (alone),
and link (href, and target, rel, class, title); a link's
href is an http, https, mailto, tel or relative URL.
An image of an asset is {"type": "image", "attrs": {"asset_id": "ast_...", "alt": "..."}} (in Markdown , or the
asset's image_url), between the document's blocks (not inside a list,
quote or table), at most 100 per document (too_many_images); a newly
shown image must be an uploaded JPEG, PNG, GIF, WebP, AVIF or SVG of
the project (invalid_reference, type_not_accepted). expand embeds
the assets, and published-only keys can read the images of published
records. A record holds at
most 2,000,000 bytes of values, all fields together (too_large on
data); one already larger can still be edited without growing.
A rich text value is written as Markdown (GitHub Flavored, a string)
or as a ProseMirror JSON document ({"type": "doc", "content": [...]}),
and stored and read as the document (rich_text reads it as HTML or
Markdown). Markdown is converted as closely as the vocabulary allows:
headings below h3 become h3, task list items plain items, footnotes and
raw HTML text. A document uses the web editor's vocabulary (Tiptap's
StarterKit and tables) and nothing else; another name is refused with
invalid_format, naming ours where one fits (strong is bold):
blocks: paragraph, heading (level 1-3), blockquote,
bulletList and orderedList (start, type) of listItem
(starting with a paragraph), codeBlock (language),
horizontalRule, and table of tableRow of tableHeader or
tableCell (colspan, rowspan, colwidth, align); any block
may have dir (auto, ltr, rtl);
inline: text (non-empty) and hardBreak;
marks on text: bold, italic, strike, underline, code (alone),
and link (href, and target, rel, class, title); a link's
href is an http, https, mailto, tel or relative URL.
An image of an asset is {"type": "image", "attrs": {"asset_id": "ast_...", "alt": "..."}} (in Markdown , or the
asset's image_url), between the document's blocks (not inside a list,
quote or table), at most 100 per document (too_many_images); a newly
shown image must be an uploaded JPEG, PNG, GIF, WebP, AVIF or SVG of
the project (invalid_reference, type_not_accepted). expand embeds
the assets, and published-only keys can read the images of published
records. A record holds at
most 2,000,000 bytes of values, all fields together (too_large on
data); one already larger can still be edited without growing.
Only with expand: what each requested relation, asset or rich
text field points at, keyed by field key: records for
relation fields, assets for asset fields. A single value is the object, or null when
it no longer exists; a multiple value is a list of those that still
exist. For a rich text field, the list of assets its images show,
in document order, leaving out those that no longer exist.
Expanded records are not expanded further.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nohead","colors":{"primary":"#171717","light":"#fafafa","dark":"#171717"},"logo":{"light":"https://mintcdn.com/nohead/Zi4ShGp1nnXJjvN2/logo/light.svg?fit=max\u0026auto=format\u0026n=Zi4ShGp1nnXJjvN2\u0026q=85\u0026s=e431964df2c90a7efd8cf3839919156a","dark":"https://mintcdn.com/nohead/Zi4ShGp1nnXJjvN2/logo/dark.svg?fit=max\u0026auto=format\u0026n=Zi4ShGp1nnXJjvN2\u0026q=85\u0026s=0f1626c2856f0e98870466fde414c967","href":"https://nohead.io"},"favicon":"https://mintcdn.com/nohead/Zi4ShGp1nnXJjvN2/favicon.svg?fit=max\u0026auto=format\u0026n=Zi4ShGp1nnXJjvN2\u0026q=85\u0026s=73c7bf765c68dd3524dfa06a8e1a5c55","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","typescript","python","ruby"]}},"footer":{"socials":{"x":"https://x.com/nohead_io","github":"https://github.com/nohead-io"},"links":[{"items":[{"label":"Status","href":"https://status.nohead.io"}]}]},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","claude","chatgpt","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nohead","hasAudioNarration":false,"actualSubdomain":"nohead","customDomains":["docs.nohead.io"],"gitSource":{"type":"github","owner":"nohead-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae7050e53ca202614c2eaad"},"chroma":{"latestBuiltDeploymentHistoryId":"6aec9780ada4d37850e32d2e","collectionId":"67023daf-3f94-446b-bf28-d982ad716b31","liveDeploymentHistoryId":"6aec9780ada4d37850e32d2e","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee51a7f00d0b95d690fcbc","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API reference","count":82},{"language":"default","tag":"Endpoints","count":81},{"language":"default","tag":"Guides","count":22},{"language":"default","tag":"CLI","count":14},{"language":"default","tag":"Commands","count":13},{"language":"default","tag":"Assets","count":11},{"language":"default","tag":"Webhooks","count":10},{"language":"default","tag":"Drafts","count":9},{"language":"default","tag":"Fields","count":9},{"language":"default","tag":"Records","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img[src$=\"/icons/typescript.svg\"]{--icon: url(\"/icons/typescript.svg\")}img[src$=\"/icons/python.svg\"]{--icon: url(\"/icons/python.svg\")}img[src$=\"/icons/ruby.svg\"]{--icon: url(\"/icons/ruby.svg\")}img:is([src$=\"/icons/typescript.svg\"],[src$=\"/icons/python.svg\"],[src$=\"/icons/ruby.svg\"]){box-sizing:border-box;padding-left:1rem;background-color:rgb(var(--gray-400))!important;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.dark img:is([src$=\"/icons/typescript.svg\"],[src$=\"/icons/python.svg\"],[src$=\"/icons/ruby.svg\"]){background-color:rgb(var(--gray-500))!important}[aria-current] img:is([src$=\"/icons/typescript.svg\"],[src$=\"/icons/python.svg\"],[src$=\"/icons/ruby.svg\"]){background-color:rgb(var(--primary))!important}.dark [aria-current] img:is([src$=\"/icons/typescript.svg\"],[src$=\"/icons/python.svg\"],[src$=\"/icons/ruby.svg\"]){background-color:rgb(var(--primary-light))!important}"}],"page":{"pagePath":"api-reference/records/update-a-record","slug":"/api-reference/records/update-a-record","pageMetadata":{"title":"Update a record","description":"Partial update. Keys present in `data` replace their values; `null`\nclears one. `409` with detail code `deleted` while the record is\nsoft-deleted: restore it first. With a pending draft the update still\napplies, and merging the draft later replaces the fields the draft\nchanges.\n","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/records/{record_id}","href":"/api-reference/records/update-a-record","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Partial update. Keys present in \", _jsx(_components.code, {\n children: \"data\"\n }), \" replace their values; \", _jsx(_components.code, {\n children: \"null\"\n }), \"\\nclears one. \", _jsx(_components.code, {\n children: \"409\"\n }), \" with detail code \", _jsx(_components.code, {\n children: \"deleted\"\n }), \" while the record is\\nsoft-deleted: restore it first. With a pending draft the update still\\napplies, and merging the draft later replaces the fields the draft\\nchanges.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update a record","description":"Partial update. Keys present in `data` replace their values; `null`\nclears one. `409` with detail code `deleted` while the record is\nsoft-deleted: restore it first. With a pending draft the update still\napplies, and merging the draft later replaces the fields the draft\nchanges.\n","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/records/{record_id}","href":"/api-reference/records/update-a-record","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"records_update","summary":"Update a record","description":"Partial update. Keys present in `data` replace their values; `null`\nclears one. `409` with detail code `deleted` while the record is\nsoft-deleted: restore it first. With a pending draft the update still\napplies, and merging the draft later replaces the fields the draft\nchanges.\n","tags":["records"],"parameters":["de5c7f2b-42f2-4892-981d-0f0d05001b86","6104bae7-ae1b-4190-b56c-684f284613c7","3ff5672b-cd54-4f7b-8937-8b33f80c2c2e","9dd1667b-bac1-41ae-9c21-fe61da410621","d884cf5e-c449-4703-ba9a-ad76124d6829"],"requestBody":"cc8e9a67-c626-47e2-9612-2fbc85697345","responses":{"200":"540e3a60-6f70-46df-bf85-09d82449b648","400":"29e6abfd-9110-4f0e-9b8b-2af761f9a393","401":"5d30405f-6a31-47c2-a6bf-177057ae4220","403":"221921c9-361e-4cf2-8a01-4061d48e45c2","404":"c9981015-bea4-4bc9-adf6-11110f549134","409":"29e71a65-b8c4-4e83-8d37-56e68087fcb2","412":"aea69691-a254-4a30-b115-a3fcb462c105","422":"fa8a49ff-b117-4905-b798-adeedf844eec","429":"1bfdea02-2c0c-4d52-911c-c0026a2b3cc5"},"x-codeSamples":[{"lang":"typescript","label":"TypeScript","source":"import { Nohead } from \"@nohead/sdk\"\n\nconst nohead = new Nohead()\n\nconst result = await nohead.records.update(\n \"rec_01J9ZQ3F8X\",\n { data: { title: \"Hey\" } },\n { ifMatch: 1 }\n)\n"},{"lang":"python","label":"Python","source":"from nohead import Nohead\n\nnohead = Nohead()\n\nresult = nohead.records.update(\"rec_01J9ZQ3F8X\", data={\"title\": \"Hey\"}, if_match=1)\n"},{"lang":"ruby","label":"Ruby","source":"require \"nohead\"\n\nnohead = Nohead::Client.new\n\nresult = nohead.records.update(\"rec_01J9ZQ3F8X\", data: { title: \"Hey\" }, if_match: 1)\n"}],"method":"patch","type":"path","servers":["8bbbb494-a028-4201-ac4c-27745b9572a7"],"security":["fdb003e5-f8f3-4ee7-b4f8-ee1029f9c030"],"path":"/v1/records/{record_id}","baseUrlOptions":["https://api.nohead.io"],"title":"Update a record","codeSamples":[{"label":"TypeScript","lang":"typescript","source":"import { Nohead } from \"@nohead/sdk\"\n\nconst nohead = new Nohead()\n\nconst result = await nohead.records.update(\n \"rec_01J9ZQ3F8X\",\n { data: { title: \"Hey\" } },\n { ifMatch: 1 }\n)\n"},{"label":"Python","lang":"python","source":"from nohead import Nohead\n\nnohead = Nohead()\n\nresult = nohead.records.update(\"rec_01J9ZQ3F8X\", data={\"title\": \"Hey\"}, if_match=1)\n"},{"label":"Ruby","lang":"ruby","source":"require \"nohead\"\n\nnohead = Nohead::Client.new\n\nresult = nohead.records.update(\"rec_01J9ZQ3F8X\", data: { title: \"Hey\" }, if_match: 1)\n"}],"requestExampleLanguages":["bash","typescript","python","ruby"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"de5c7f2b-42f2-4892-981d-0f0d05001b86":{"name":"rich_text","in":"query","description":"How rich text fields read in the records and drafts returned (and in records they embed with `expand`): `document`, the stored ProseMirror JSON document; `html`, an HTML fragment of known elements with every text and attribute escaped, to put in a page as it is; or `markdown` (GitHub Flavored), which reads back as the same document when written. Images render with their URLs, so they need no `expand`: in HTML a WebP rendition at most 1600 pixels wide with its `width` and `height` (an SVG as itself), in Markdown the asset's `image_url`. An image whose asset was deleted is left out of HTML, and written as its asset ID in Markdown. Record history keeps documents.","schema":{"type":"string","enum":["document","html","markdown"],"default":"document","description":"How rich text fields read in the records and drafts returned (and in records they embed with `expand`): `document`, the stored ProseMirror JSON document; `html`, an HTML fragment of known elements with every text and attribute escaped, to put in a page as it is; or `markdown` (GitHub Flavored), which reads back as the same document when written. Images render with their URLs, so they need no `expand`: in HTML a WebP rendition at most 1600 pixels wide with its `width` and `height` (an SVG as itself), in Markdown the asset's `image_url`. An image whose asset was deleted is left out of HTML, and written as its asset ID in Markdown. Record history keeps documents.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"6104bae7-ae1b-4190-b56c-684f284613c7":{"name":"Idempotency-Key","in":"header","required":false,"description":"A unique value (1-255 printable ASCII characters) that makes retrying\nthis request safe. The first response (below 500) is stored for 24\nhours per user or API key; retries with the same key and the same\nrequest get it again with an `Idempotent-Replayed: true` header. The\nsame key with a different request is refused with `400`; a retry while\nthe first request is still running gets `409`.\n","schema":{"type":"string","minLength":1,"maxLength":255,"isRequired":false,"description":"A unique value (1-255 printable ASCII characters) that makes retrying\nthis request safe. The first response (below 500) is stored for 24\nhours per user or API key; retries with the same key and the same\nrequest get it again with an `Idempotent-Replayed: true` header. The\nsame key with a different request is refused with `400`; a retry while\nthe first request is still running gets `409`.\n","uniqueKey":"","typeLabel":"string"},"example":"8f14e45f-ceea-467a-9575-0f1a3f2c1d2e"},"3ff5672b-cd54-4f7b-8937-8b33f80c2c2e":{"name":"If-Match","in":"header","description":"The revision you last read (the record's, or the draft's for a draft), e.g. `\"7\"`. Stale writes fail with 412.","schema":{"type":"string","description":"The revision you last read (the record's, or the draft's for a draft), e.g. `\"7\"`. Stale writes fail with 412.","uniqueKey":"","typeLabel":"string"}},"9dd1667b-bac1-41ae-9c21-fe61da410621":{"name":"Nohead-Client","in":"header","description":"First-party client identifier recorded in history (e.g. `cli/0.3.1`). Informational only.","schema":{"type":"string","description":"First-party client identifier recorded in history (e.g. `cli/0.3.1`). Informational only.","uniqueKey":"","typeLabel":"string"}},"d884cf5e-c449-4703-ba9a-ad76124d6829":{"name":"Nohead-Change-Note","in":"header","description":"Optional reason for the change, kept with the record revision, schema\nchange or field migration it makes (at most 500 characters once\ndecoded). Percent-encoded UTF-8, as\n`encodeURIComponent` encodes it, so any language fits in a header:\n`Rettet%20stavefejl%20p%C3%A5%20forsiden`. Plain ASCII may be sent\nas is. Other bytes are `400`.\n","schema":{"type":"string","description":"Optional reason for the change, kept with the record revision, schema\nchange or field migration it makes (at most 500 characters once\ndecoded). Percent-encoded UTF-8, as\n`encodeURIComponent` encodes it, so any language fits in a header:\n`Rettet%20stavefejl%20p%C3%A5%20forsiden`. Plain ASCII may be sent\nas is. Other bytes are `400`.\n","uniqueKey":"","typeLabel":"string"}},"eb6d6693-f0c2-4fbf-a566-311fd54b2709":{"name":"record_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"rec_01J9ZQ3F8X5W2K7M4N6P0R1S2T"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["data"],"properties":{"data":{"type":"object","description":"Field values keyed by field `key`.\n\nA rich text value is written as Markdown (GitHub Flavored, a string)\nor as a ProseMirror JSON document (`{\"type\": \"doc\", \"content\": [...]}`),\nand stored and read as the document (`rich_text` reads it as HTML or\nMarkdown). Markdown is converted as closely as the vocabulary allows:\nheadings below h3 become h3, task list items plain items, footnotes and\nraw HTML text. A document uses the web editor's vocabulary (Tiptap's\nStarterKit and tables) and nothing else; another name is refused with\n`invalid_format`, naming ours where one fits (`strong` is `bold`):\n\n- blocks: `paragraph`, `heading` (`level` 1-3), `blockquote`,\n `bulletList` and `orderedList` (`start`, `type`) of `listItem`\n (starting with a paragraph), `codeBlock` (`language`),\n `horizontalRule`, and `table` of `tableRow` of `tableHeader` or\n `tableCell` (`colspan`, `rowspan`, `colwidth`, `align`); any block\n may have `dir` (`auto`, `ltr`, `rtl`);\n- inline: `text` (non-empty) and `hardBreak`;\n- marks on text: `bold`, `italic`, `strike`, `underline`, `code` (alone),\n and `link` (`href`, and `target`, `rel`, `class`, `title`); a link's\n `href` is an `http`, `https`, `mailto`, `tel` or relative URL.\n\nAn image of an asset is `{\"type\": \"image\", \"attrs\": {\"asset_id\":\n\"ast_...\", \"alt\": \"...\"}}` (in Markdown ``, or the\nasset's `image_url`), between the document's blocks (not inside a list,\nquote or table), at most 100 per document (`too_many_images`); a newly\nshown image must be an uploaded JPEG, PNG, GIF, WebP, AVIF or SVG of\nthe project (`invalid_reference`, `type_not_accepted`). `expand` embeds\nthe assets, and published-only keys can read the images of published\nrecords. A record holds at\nmost 2,000,000 bytes of values, all fields together (`too_large` on\n`data`); one already larger can still be edited without growing.\n","additionalProperties":true,"examples":[{"title":"Introducing Foo","body":{"type":"doc","content":[]}}],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"title":"Introducing Foo","body":{"type":"doc","content":[]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"540e3a60-6f70-46df-bf85-09d82449b648":{"description":"The record.","headers":{"ETag":{"description":"The current revision (the record's, or the draft's), e.g. `\"7\"`. Send it back as `If-Match`.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","object","collection_id","collection","published_at","revision","schema_version","deleted_at","purge_after","history_pruned_through","data","created_at","updated_at"],"properties":{"id":{"type":"string","examples":["rec_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"id","typeLabel":"string"},"object":{"const":"record","isRequired":true,"uniqueKey":"object","typeLabel":"any"},"collection_id":{"type":"string","isRequired":true,"uniqueKey":"collection_id","typeLabel":"string"},"collection":{"type":"string","description":"The collection slug.","isRequired":true,"uniqueKey":"collection","typeLabel":"string"},"published_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the record was published; null while it is unpublished.","isRequired":true,"uniqueKey":"published_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the record was published; null while it is unpublished.","isRequired":true,"uniqueKey":"published_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"published_at","typeLabel":"string\u003cdate-time> | null"},"revision":{"type":"integer","description":"Current revision number; also returned as the ETag.","isRequired":true,"uniqueKey":"revision","typeLabel":"integer"},"schema_version":{"type":"integer","isRequired":true,"uniqueKey":"schema_version","typeLabel":"integer"},"history_pruned_through":{"oneOf":[{"type":"integer","description":"Revisions up to this number (except revision 1) were removed by the plan's history retention.","isRequired":true,"uniqueKey":"history_pruned_through.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Revisions up to this number (except revision 1) were removed by the plan's history retention.","isRequired":true,"uniqueKey":"history_pruned_through.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"history_pruned_through","typeLabel":"integer | null"},"deleted_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the record was soft-deleted; null unless it is.","isRequired":true,"uniqueKey":"deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the record was soft-deleted; null unless it is.","isRequired":true,"uniqueKey":"deleted_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"deleted_at","typeLabel":"string\u003cdate-time> | null"},"purge_after":{"oneOf":[{"type":"string","format":"date-time","description":"When a soft-deleted record is removed for good, unless restored first.","isRequired":true,"uniqueKey":"purge_after.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When a soft-deleted record is removed for good, unless restored first.","isRequired":true,"uniqueKey":"purge_after.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"purge_after","typeLabel":"string\u003cdate-time> | null"},"data":{"type":"object","description":"Field values keyed by field `key`.\n\nA rich text value is written as Markdown (GitHub Flavored, a string)\nor as a ProseMirror JSON document (`{\"type\": \"doc\", \"content\": [...]}`),\nand stored and read as the document (`rich_text` reads it as HTML or\nMarkdown). Markdown is converted as closely as the vocabulary allows:\nheadings below h3 become h3, task list items plain items, footnotes and\nraw HTML text. A document uses the web editor's vocabulary (Tiptap's\nStarterKit and tables) and nothing else; another name is refused with\n`invalid_format`, naming ours where one fits (`strong` is `bold`):\n\n- blocks: `paragraph`, `heading` (`level` 1-3), `blockquote`,\n `bulletList` and `orderedList` (`start`, `type`) of `listItem`\n (starting with a paragraph), `codeBlock` (`language`),\n `horizontalRule`, and `table` of `tableRow` of `tableHeader` or\n `tableCell` (`colspan`, `rowspan`, `colwidth`, `align`); any block\n may have `dir` (`auto`, `ltr`, `rtl`);\n- inline: `text` (non-empty) and `hardBreak`;\n- marks on text: `bold`, `italic`, `strike`, `underline`, `code` (alone),\n and `link` (`href`, and `target`, `rel`, `class`, `title`); a link's\n `href` is an `http`, `https`, `mailto`, `tel` or relative URL.\n\nAn image of an asset is `{\"type\": \"image\", \"attrs\": {\"asset_id\":\n\"ast_...\", \"alt\": \"...\"}}` (in Markdown ``, or the\nasset's `image_url`), between the document's blocks (not inside a list,\nquote or table), at most 100 per document (`too_many_images`); a newly\nshown image must be an uploaded JPEG, PNG, GIF, WebP, AVIF or SVG of\nthe project (`invalid_reference`, `type_not_accepted`). `expand` embeds\nthe assets, and published-only keys can read the images of published\nrecords. A record holds at\nmost 2,000,000 bytes of values, all fields together (`too_large` on\n`data`); one already larger can still be edited without growing.\n","additionalProperties":true,"examples":[{"title":"Introducing Foo","body":{"type":"doc","content":[]}}],"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"expanded":{"type":"object","description":"Only with `expand`: what each requested relation, asset or rich\ntext field points at, keyed by field key: records for\nrelation fields, assets for asset fields. A single value is the object, or null when\nit no longer exists; a multiple value is a list of those that still\nexist. For a rich text field, the list of assets its images show,\nin document order, leaving out those that no longer exist.\nExpanded records are not expanded further.\n","additionalProperties":{"oneOf":[{},{"type":"object","required":["id","object","project_id","filename","alt","content_type","byte_size","width","height","status","deleted_at","purge_after","image_url","preview_url","file_url","media_url","uploaded_at","created_at","updated_at"],"properties":{"id":{"type":"string","examples":["ast_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.id","typeLabel":"string"},"object":{"const":"asset","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.object","typeLabel":"any"},"project_id":{"type":"string","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.project_id","typeLabel":"string"},"filename":{"type":"string","description":"The filename, any Unicode, as uploaded unless renamed since. Downloads use it.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.filename","typeLabel":"string"},"alt":{"oneOf":[{"type":"string","maxLength":1000,"description":"Alternative text, saying what an image shows; null until set. The default wherever the asset is used.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.alt.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"description":"Alternative text, saying what an image shows; null until set. The default wherever the asset is used.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.alt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.alt","typeLabel":"string | null"},"content_type":{"type":"string","examples":["image/png"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.content_type","typeLabel":"string"},"byte_size":{"type":"integer","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.byte_size","typeLabel":"integer"},"width":{"oneOf":[{"type":"integer","description":"Pixel width, for images.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.width.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Pixel width, for images.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.height.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.height","typeLabel":"integer | null"},"status":{"type":"string","enum":["pending","ready","failed"],"description":"`pending` until the upload is completed; only `ready` assets can be used in records.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.status","typeLabel":"enum\u003cstring>"},"deleted_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the asset was deleted; null unless it is.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the asset was deleted; null unless it is.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.deleted_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.deleted_at","typeLabel":"string\u003cdate-time> | null"},"purge_after":{"oneOf":[{"type":"string","format":"date-time","description":"When a deleted asset and its file are removed for good, unless restored or purged first.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.purge_after.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When a deleted asset and its file are removed for good, unless restored or purged first.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.purge_after.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.purge_after","typeLabel":"string\u003cdate-time> | null"},"image_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of the whole image, for ready images (JPEG, PNG, GIF, WebP,\nAVIF or SVG), deleted ones included until they are purged; null\notherwise. Image URLs are open and never expire. An SVG is served\nas SVG without its scripts, unless a format such as `@webp`\nrasterizes it. For a rendition,\nwrite [imgproxy processing options](https://docs.imgproxy.net/usage/processing)\nbefore `/plain/`, and a format after `@`: for example\n`https://images.nohead.io/rs:fill:800:600/g:sm/plain/…@webp`. Renditions\nare at most 4096 pixels a side, from originals of at most 50\nmegapixels. Options that would return the file as stored (`raw`,\n`skip_processing`, `strip_metadata`) are refused.\n","examples":["https://images.nohead.io/plain/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.image_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of the whole image, for ready images (JPEG, PNG, GIF, WebP,\nAVIF or SVG), deleted ones included until they are purged; null\notherwise. Image URLs are open and never expire. An SVG is served\nas SVG without its scripts, unless a format such as `@webp`\nrasterizes it. For a rendition,\nwrite [imgproxy processing options](https://docs.imgproxy.net/usage/processing)\nbefore `/plain/`, and a format after `@`: for example\n`https://images.nohead.io/rs:fill:800:600/g:sm/plain/…@webp`. Renditions\nare at most 4096 pixels a side, from originals of at most 50\nmegapixels. Options that would return the file as stored (`raw`,\n`skip_processing`, `strip_metadata`) are refused.\n","examples":["https://images.nohead.io/plain/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.image_url","typeLabel":"string\u003curi> | null"},"preview_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of a small rendition (fits in 640×640, WebP), for ready images and SVGs (rasterized), deleted ones included until they are purged; null otherwise.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.preview_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of a small rendition (fits in 640×640, WebP), for ready images and SVGs (rasterized), deleted ones included until they are purged; null otherwise.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.preview_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.preview_url","typeLabel":"string\u003curi> | null"},"file_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of the file as uploaded, for ready assets of any type,\ndeleted ones included until they are purged; null otherwise. It\ndownloads the file under its `filename` (a rename applies within a\nminute or so), is open and never expires, and is cached on a CDN.\n","examples":["https://files.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.file_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of the file as uploaded, for ready assets of any type,\ndeleted ones included until they are purged; null otherwise. It\ndownloads the file under its `filename` (a rename applies within a\nminute or so), is open and never expires, and is cached on a CDN.\n","examples":["https://files.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.file_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.file_url","typeLabel":"string\u003curi> | null"},"media_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL that plays a ready video or audio file inline, for\n`\u003cvideo>` and `\u003caudio>` (with range requests, so players can seek),\ndeleted ones included until they are purged: MP4, QuickTime, M4A,\n3GP, WebM, Matroska, MP3, AAC, FLAC, WAV and Ogg (whose content is\nchecked when the upload completes). Null for other types, which\n`file_url` downloads.\nOpen, never expiring and cached on a CDN, like `file_url`.\n","examples":["https://media.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.media_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL that plays a ready video or audio file inline, for\n`\u003cvideo>` and `\u003caudio>` (with range requests, so players can seek),\ndeleted ones included until they are purged: MP4, QuickTime, M4A,\n3GP, WebM, Matroska, MP3, AAC, FLAC, WAV and Ogg (whose content is\nchecked when the upload completes). Null for other types, which\n`file_url` downloads.\nOpen, never expiring and cached on a CDN, like `file_url`.\n","examples":["https://media.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.media_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.media_url","typeLabel":"string\u003curi> | null"},"uploaded_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.uploaded_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.uploaded_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.uploaded_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.1.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"expanded.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"null","uniqueKey":"expanded.additionalProperties.oneOf.2","typeLabel":"null"},{"type":"array","items":{"oneOf":[{},{"type":"object","required":["id","object","project_id","filename","alt","content_type","byte_size","width","height","status","deleted_at","purge_after","image_url","preview_url","file_url","media_url","uploaded_at","created_at","updated_at"],"properties":{"id":{"type":"string","examples":["ast_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.id","typeLabel":"string"},"object":{"const":"asset","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.object","typeLabel":"any"},"project_id":{"type":"string","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.project_id","typeLabel":"string"},"filename":{"type":"string","description":"The filename, any Unicode, as uploaded unless renamed since. Downloads use it.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.filename","typeLabel":"string"},"alt":{"oneOf":[{"type":"string","maxLength":1000,"description":"Alternative text, saying what an image shows; null until set. The default wherever the asset is used.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.alt.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"description":"Alternative text, saying what an image shows; null until set. The default wherever the asset is used.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.alt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.alt","typeLabel":"string | null"},"content_type":{"type":"string","examples":["image/png"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.content_type","typeLabel":"string"},"byte_size":{"type":"integer","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.byte_size","typeLabel":"integer"},"width":{"oneOf":[{"type":"integer","description":"Pixel width, for images.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.width.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Pixel width, for images.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.height.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.height","typeLabel":"integer | null"},"status":{"type":"string","enum":["pending","ready","failed"],"description":"`pending` until the upload is completed; only `ready` assets can be used in records.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.status","typeLabel":"enum\u003cstring>"},"deleted_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the asset was deleted; null unless it is.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the asset was deleted; null unless it is.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.deleted_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.deleted_at","typeLabel":"string\u003cdate-time> | null"},"purge_after":{"oneOf":[{"type":"string","format":"date-time","description":"When a deleted asset and its file are removed for good, unless restored or purged first.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.purge_after.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When a deleted asset and its file are removed for good, unless restored or purged first.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.purge_after.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.purge_after","typeLabel":"string\u003cdate-time> | null"},"image_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of the whole image, for ready images (JPEG, PNG, GIF, WebP,\nAVIF or SVG), deleted ones included until they are purged; null\notherwise. Image URLs are open and never expire. An SVG is served\nas SVG without its scripts, unless a format such as `@webp`\nrasterizes it. For a rendition,\nwrite [imgproxy processing options](https://docs.imgproxy.net/usage/processing)\nbefore `/plain/`, and a format after `@`: for example\n`https://images.nohead.io/rs:fill:800:600/g:sm/plain/…@webp`. Renditions\nare at most 4096 pixels a side, from originals of at most 50\nmegapixels. Options that would return the file as stored (`raw`,\n`skip_processing`, `strip_metadata`) are refused.\n","examples":["https://images.nohead.io/plain/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.image_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of the whole image, for ready images (JPEG, PNG, GIF, WebP,\nAVIF or SVG), deleted ones included until they are purged; null\notherwise. Image URLs are open and never expire. An SVG is served\nas SVG without its scripts, unless a format such as `@webp`\nrasterizes it. For a rendition,\nwrite [imgproxy processing options](https://docs.imgproxy.net/usage/processing)\nbefore `/plain/`, and a format after `@`: for example\n`https://images.nohead.io/rs:fill:800:600/g:sm/plain/…@webp`. Renditions\nare at most 4096 pixels a side, from originals of at most 50\nmegapixels. Options that would return the file as stored (`raw`,\n`skip_processing`, `strip_metadata`) are refused.\n","examples":["https://images.nohead.io/plain/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.image_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.image_url","typeLabel":"string\u003curi> | null"},"preview_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of a small rendition (fits in 640×640, WebP), for ready images and SVGs (rasterized), deleted ones included until they are purged; null otherwise.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.preview_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of a small rendition (fits in 640×640, WebP), for ready images and SVGs (rasterized), deleted ones included until they are purged; null otherwise.","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.preview_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.preview_url","typeLabel":"string\u003curi> | null"},"file_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL of the file as uploaded, for ready assets of any type,\ndeleted ones included until they are purged; null otherwise. It\ndownloads the file under its `filename` (a rename applies within a\nminute or so), is open and never expires, and is cached on a CDN.\n","examples":["https://files.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.file_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL of the file as uploaded, for ready assets of any type,\ndeleted ones included until they are purged; null otherwise. It\ndownloads the file under its `filename` (a rename applies within a\nminute or so), is open and never expires, and is cached on a CDN.\n","examples":["https://files.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.file_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.file_url","typeLabel":"string\u003curi> | null"},"media_url":{"oneOf":[{"type":"string","format":"uri","description":"The URL that plays a ready video or audio file inline, for\n`\u003cvideo>` and `\u003caudio>` (with range requests, so players can seek),\ndeleted ones included until they are purged: MP4, QuickTime, M4A,\n3GP, WebM, Matroska, MP3, AAC, FLAC, WAV and Ogg (whose content is\nchecked when the upload completes). Null for other types, which\n`file_url` downloads.\nOpen, never expiring and cached on a CDN, like `file_url`.\n","examples":["https://media.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.media_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"The URL that plays a ready video or audio file inline, for\n`\u003cvideo>` and `\u003caudio>` (with range requests, so players can seek),\ndeleted ones included until they are purged: MP4, QuickTime, M4A,\n3GP, WebM, Matroska, MP3, AAC, FLAC, WAV and Ogg (whose content is\nchecked when the upload completes). Null for other types, which\n`file_url` downloads.\nOpen, never expiring and cached on a CDN, like `file_url`.\n","examples":["https://media.nohead.io/0199f5c2-7b1e-7c3a-9d4f-2a6b8c0e1f3d/0199f5c2-8a2d-7e4b-b1c3-5d7e9f1a2b4c"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.media_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.media_url","typeLabel":"string\u003curi> | null"},"uploaded_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.uploaded_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.uploaded_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.uploaded_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp in UTC.","examples":["2026-09-27T12:00:00.000Z"],"isRequired":true,"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"expanded.additionalProperties.oneOf.3.items.[INDEX]","typeLabel":"object"},"uniqueKey":"expanded.additionalProperties.oneOf.3","typeLabel":"object[]"}],"uniqueKey":"expanded.additionalProperties","typeLabel":"object | null | object[]"},"uniqueKey":"expanded","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"rec_01J9ZQ3F8X5W2K7M4N6P0R1S2T","object":"record","collection_id":"\u003cstring>","collection":"\u003cstring>","published_at":"2023-11-07T05:31:56Z","revision":123,"schema_version":123,"history_pruned_through":123,"deleted_at":"2023-11-07T05:31:56Z","purge_after":"2023-11-07T05:31:56Z","data":{"title":"Introducing Foo","body":{"type":"doc","content":[]}},"created_at":"2026-09-27T12:00:00.000Z","updated_at":"2026-09-27T12:00:00.000Z","expanded":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"29e6abfd-9110-4f0e-9b8b-2af761f9a393":{"description":"The request was malformed: unparseable JSON, an invalid query parameter, or a body key the operation doesn't take (detail code `unknown_parameter`, naming the key).","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"5d30405f-6a31-47c2-a6bf-177057ae4220":{"description":"Authentication is missing or invalid.","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"221921c9-361e-4cf2-8a01-4061d48e45c2":{"description":"The caller is not allowed to perform this action.","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"c9981015-bea4-4bc9-adf6-11110f549134":{"description":"The resource does not exist or is not visible to the caller.","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"29e71a65-b8c4-4e83-8d37-56e68087fcb2":{"description":"The request conflicts with current state.","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"aea69691-a254-4a30-b115-a3fcb462c105":{"description":"The resource changed since the revision given in `If-Match`. Nothing was\nwritten; `details` includes the current revision.\n","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"precondition_failed","message":"Record has changed since revision 6","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"revision_mismatch","message":"Current revision is 7","current_revision":7}]}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"precondition_failed","message":"Record has changed since revision 6","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"revision_mismatch","message":"Current revision is 7","current_revision":7}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"fa8a49ff-b117-4905-b798-adeedf844eec":{"description":"The request failed validation.","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"validation_error","message":"Record validation failed","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"field":"title","code":"required","message":"is required"}]}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"validation_error","message":"Record validation failed","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"field":"title","code":"required","message":"is required"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"1bfdea02-2c0c-4d52-911c-c0026a2b3cc5":{"description":"Too many requests for this API key or user (or, with failing\ncredentials, this IP address). A published-only key is counted per\nclient IP. Wait `Retry-After` seconds; retries with the same `Idempotency-Key`\nare safe. On the Free plan, an organization's API keys are also\nrefused once its API requests reach the month's limit, with a\n`plan_limit` detail (`field` `api_requests`, `usage` and `limit`),\nuntil the next month (UTC) or an upgrade.\n","headers":{"X-Request-Id":{"description":"Unique identifier for the request, also echoed in error bodies.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"]}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}},"RateLimit-Limit":{"description":"Requests allowed in the current window. Sent on every authenticated response.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","plan_limit_exceeded","authorization_error","not_found","conflict","precondition_failed","validation_error","rate_limited","internal_error","service_unavailable"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9]+$","examples":["req_01J9ZQ3F8X5W2K7M4N6P0R1S2T"],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `required`.","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Key of the offending field or parameter, when applicable.","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"usage":{"type":"integer","description":"Current usage, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].usage","typeLabel":"integer"},"limit":{"type":"integer","description":"The plan's limit, for `plan_limit` details.","uniqueKey":"error.details.items.[INDEX].limit","typeLabel":"integer"},"current_revision":{"type":"integer","description":"The resource's current revision, for `revision_mismatch` details.","uniqueKey":"error.details.items.[INDEX].current_revision","typeLabel":"integer"},"record_id":{"type":"string","description":"The record that already has the value, for `taken` details.","uniqueKey":"error.details.items.[INDEX].record_id","typeLabel":"string"},"draft_id":{"type":"string","description":"The record's draft, for `draft_exists` and `draft_pending` details.","uniqueKey":"error.details.items.[INDEX].draft_id","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","request_id":"req_01J9ZQ3F8X5W2K7M4N6P0R1S2T","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>","usage":123,"limit":123,"current_revision":123,"record_id":"\u003cstring>","draft_id":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"fdb003e5-f8f3-4ee7-b4f8-ee1029f9c030":{"apiKey":{"type":"http","scheme":"bearer","description":"Project-scoped API key, e.g. `nohead_sk_k7fz0a9c3m2q_\u003csecret>`, or\n`nohead_pk_…` for a published-only key. Used by servers, CI, the CLI\nand coding agents.\n","scopes":[],"schemeName":"apiKey"}}},"servers":{"8bbbb494-a028-4201-ac4c-27745b9572a7":{"url":"https://api.nohead.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Project-scoped API key, e.g. `nohead_sk_k7fz0a9c3m2q_\u003csecret>`, or\n`nohead_pk_…` for a published-only key. Used by servers, CI, the CLI\nand coding agents.\n","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Project-scoped API key, e.g. `nohead_sk_k7fz0a9c3m2q_\u003csecret>`, or\n`nohead_pk_…` for a published-only key. Used by servers, CI, the CLI\nand coding agents.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"nohead","siteName":"Nohead","title":"Update a record - Nohead","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T14:20:20.610Z","originalFileLocation":"api-reference/records/update-a-record.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Partial update. Keys present in data replace their values; null clears one. 409 with detail code deleted while the record is soft-deleted: restore it first. With a pending draft the update still applies, and merging the draft later replaces the fields the draft changes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nohead\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update a record - Nohead\">\u003cmeta data-mint-head property=\"og:description\" content=\"Partial update. Keys present in data replace their values; null clears one. 409 with detail code deleted while the record is soft-deleted: restore it first. With a pending draft the update still applies, and merging the draft later replaces the fields the draft changes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nohead\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nohead.io/api-reference/records/update-a-record\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nohead.mintlify.site/_mintlify/api/og/v2?division=Records\u0026amp;title=Update+a+record\u0026amp;description=Partial+update.+Keys+present+in+%60data%60+replace+their+values%3B+%60null%60%0Aclears+one.+%60409%60+with+detail+code+%60deleted%60+while+the+record+is%0Asoft-deleted%3A+restore+it+fi\u0026amp;theme=5304bc0da6bac525d02ea050\u0026amp;signature=2027da1b1c22aa230b8c56e418f512a571921c88a38237abf7a28891b2f87a21\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update a record - Nohead\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Partial update. Keys present in data replace their values; null clears one. 409 with detail code deleted while the record is soft-deleted: restore it first. With a pending draft the update still applies, and merging the draft later replaces the fields the draft changes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nohead.mintlify.site/_mintlify/api/og/v2?division=Records\u0026amp;title=Update+a+record\u0026amp;description=Partial+update.+Keys+present+in+%60data%60+replace+their+values%3B+%60null%60%0Aclears+one.+%60409%60+with+detail+code+%60deleted%60+while+the+record+is%0Asoft-deleted%3A+restore+it+fi\u0026amp;theme=5304bc0da6bac525d02ea050\u0026amp;signature=2027da1b1c22aa230b8c56e418f512a571921c88a38237abf7a28891b2f87a21\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nohead/rS-6Mxl34NeSIeuO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nohead\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#171717\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nohead.io/api-reference/records/update-a-record\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/records/update-a-record.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nohead.io/#organization\",\"name\":\"Nohead\",\"url\":\"https://docs.nohead.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nohead/Zi4ShGp1nnXJjvN2/logo/light.svg?fit=max\u0026auto=format\u0026n=Zi4ShGp1nnXJjvN2\u0026q=85\u0026s=e431964df2c90a7efd8cf3839919156a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nohead.io#website\",\"name\":\"Nohead\",\"url\":\"https://docs.nohead.io\",\"publisher\":{\"@id\":\"https://docs.nohead.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nohead.io/api-reference/records/update-a-record#webpage\",\"url\":\"https://docs.nohead.io/api-reference/records/update-a-record\",\"name\":\"Update a record\",\"description\":\"Partial update. Keys present in data replace their values; null clears one. 409 with detail code deleted while the record is soft-deleted: restore it first. With a pending draft the update still applies, and merging the draft later replaces the fields the draft changes.\",\"dateModified\":\"2026-11-05T14:20:20.610Z\",\"isPartOf\":{\"@id\":\"https://docs.nohead.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nohead.io/api-reference/records/update-a-record#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nohead.io/api-reference/records/update-a-record#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.nohead.io/api-reference/records/list-records\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Records\",\"item\":\"https://docs.nohead.io/api-reference/records/list-records\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update a record\",\"item\":\"https://docs.nohead.io/api-reference/records/update-a-record\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nohead.io/api-reference/records/update-a-record#apireference\",\"headline\":\"Update a record\",\"name\":\"Update a record\",\"description\":\"Partial update. Keys present in data replace their values; null clears one. 409 with detail code deleted while the record is soft-deleted: restore it first. With a pending draft the update still applies, and merging the draft later replaces the fields the draft changes.\",\"url\":\"https://docs.nohead.io/api-reference/records/update-a-record\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nohead.io/api-reference/records/update-a-record#webpage\"},\"dateModified\":\"2026-11-05T14:20:20.610Z\",\"publisher\":{\"@id\":\"https://docs.nohead.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nohead.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nohead\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nohead","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","pages":[{"title":"Overview","icon":"braces","href":"/api-reference/overview"},{"group":"Endpoints","pages":[{"group":"Records","icon":"file-text","pages":[{"title":"List records","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/records","href":"/api-reference/records/list-records"},{"title":"Create a record","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/records","href":"/api-reference/records/create-a-record"},{"title":"Get a record","description":"Also a soft-deleted record, with `deleted_at` and `purge_after` set,\nso it can be reviewed and restored. Published-only API keys find\npublished records only.\n","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}","href":"/api-reference/records/get-a-record"},{"title":"Update a record","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/records/{record_id}","href":"/api-reference/records/update-a-record"},{"title":"Delete a record","description":"Soft-deletes the record: values and history are kept, and it can be\nrestored until `purge_after`. Its schedule is cleared with it: the\ndelete is the change, so there is no `record.unscheduled` event, and\nrestoring the record doesn't bring the schedule back. Its draft's\nmerge waits for a restore. Deleting a deleted record changes nothing.\n","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/records/{record_id}","href":"/api-reference/records/delete-a-record"},{"title":"Count records","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/records/count","href":"/api-reference/records/count-records"},{"title":"Change many records","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/record-batches","href":"/api-reference/records/change-many-records"},{"title":"Restore a record","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/records/{record_id}/restore","href":"/api-reference/records/restore-a-record"}]},{"group":"Publishing","icon":"globe","pages":[{"title":"Get a record's publication","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/publication","href":"/api-reference/publishing/get-a-records-publication"},{"title":"Publish a record","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/records/{record_id}/publication","href":"/api-reference/publishing/publish-a-record"},{"title":"Unpublish a record","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/records/{record_id}/publication","href":"/api-reference/publishing/unpublish-a-record"},{"title":"Get a record's schedule","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/schedule","href":"/api-reference/publishing/get-a-records-schedule"},{"title":"Schedule publishing or unpublishing","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/records/{record_id}/schedule","href":"/api-reference/publishing/schedule-publishing-or-unpublishing"},{"title":"Cancel a record's schedule","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/records/{record_id}/schedule","href":"/api-reference/publishing/cancel-a-records-schedule"},{"title":"List scheduled changes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/scheduled-changes","href":"/api-reference/publishing/list-scheduled-changes"}]},{"group":"Revisions","icon":"file-clock","pages":[{"title":"List a record's revisions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/revisions","href":"/api-reference/revisions/list-a-records-revisions"},{"title":"Get a revision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/revisions/{revision}","href":"/api-reference/revisions/get-a-revision"},{"title":"Get a revision by ID","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/revisions/{revision_id}","href":"/api-reference/revisions/get-a-revision-by-id"},{"title":"Revert to a revision","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/records/{record_id}/revisions/{revision}/revert","href":"/api-reference/revisions/revert-to-a-revision"},{"title":"Compare two revisions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/diff","href":"/api-reference/revisions/compare-two-revisions"}]},{"group":"Drafts","icon":"file-pen","pages":[{"title":"List a record's drafts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/records/{record_id}/drafts","href":"/api-reference/drafts/list-a-records-drafts"},{"title":"Start a draft","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/records/{record_id}/drafts","href":"/api-reference/drafts/start-a-draft"},{"title":"List drafts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/drafts","href":"/api-reference/drafts/list-drafts"},{"title":"Get a draft","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/drafts/{draft_id}","href":"/api-reference/drafts/get-a-draft"},{"title":"Update a draft","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/drafts/{draft_id}","href":"/api-reference/drafts/update-a-draft"},{"title":"Discard a draft","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/drafts/{draft_id}","href":"/api-reference/drafts/discard-a-draft"},{"title":"Merge a draft","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/drafts/{draft_id}/merge","href":"/api-reference/drafts/merge-a-draft"},{"title":"Schedule a draft's merge","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/drafts/{draft_id}/schedule","href":"/api-reference/drafts/schedule-a-drafts-merge"},{"title":"Cancel a draft's merge","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/drafts/{draft_id}/schedule","href":"/api-reference/drafts/cancel-a-drafts-merge"}]},{"group":"Collections","icon":"database","pages":[{"title":"List collections","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}/collections","href":"/api-reference/collections/list-collections"},{"title":"Create a collection","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/collections","href":"/api-reference/collections/create-a-collection"},{"title":"Get a collection","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}","href":"/api-reference/collections/get-a-collection"},{"title":"Update a collection","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/collections/{collection_id}","href":"/api-reference/collections/update-a-collection"},{"title":"Delete a collection","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/collections/{collection_id}","href":"/api-reference/collections/delete-a-collection"},{"title":"Restore a deleted collection","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/restore","href":"/api-reference/collections/restore-a-deleted-collection"}]},{"group":"Schema changes","icon":"file-diff","pages":[{"title":"Get the schema at a version","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/schema","href":"/api-reference/schema-changes/get-the-schema-at-a-version"},{"title":"List schema changes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/schema-changes","href":"/api-reference/schema-changes/list-schema-changes"},{"title":"Get a schema change","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schema-changes/{schema_change_id}","href":"/api-reference/schema-changes/get-a-schema-change"}]},{"group":"Fields","icon":"list","pages":[{"title":"List fields","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/fields","href":"/api-reference/fields/list-fields"},{"title":"Add a field","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/fields","href":"/api-reference/fields/add-a-field"},{"title":"Get a field","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fields/{field_id}","href":"/api-reference/fields/get-a-field"},{"title":"Update a field","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/fields/{field_id}","href":"/api-reference/fields/update-a-field"},{"title":"Delete a field","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/fields/{field_id}","href":"/api-reference/fields/delete-a-field"},{"title":"Get the field order","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/field-order","href":"/api-reference/fields/get-the-field-order"},{"title":"Reorder fields","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/collections/{collection_id}/field-order","href":"/api-reference/fields/reorder-fields"},{"title":"Stop accepting a renamed field's old key","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/fields/{field_id}/aliases/{alias}","href":"/api-reference/fields/stop-accepting-a-renamed-fields-old-key"},{"title":"Restore a deleted field","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/fields/{field_id}/restore","href":"/api-reference/fields/restore-a-deleted-field"}]},{"group":"Field migrations","icon":"arrow-right-left","pages":[{"title":"List field migrations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/migrations","href":"/api-reference/migrations/list-field-migrations"},{"title":"Migrate a field","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/migrations","href":"/api-reference/migrations/migrate-a-field"},{"title":"Get a field migration","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/migrations/{migration_id}","href":"/api-reference/migrations/get-a-field-migration"},{"title":"Cancel a field migration","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/migrations/{migration_id}/cancel","href":"/api-reference/migrations/cancel-a-field-migration"}]},{"group":"Assets","icon":"image","pages":[{"title":"List assets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}/assets","href":"/api-reference/assets/list-assets"},{"title":"Start an upload","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/assets","href":"/api-reference/assets/start-an-upload"},{"title":"Complete an upload","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assets/{asset_id}/complete","href":"/api-reference/assets/complete-an-upload"},{"title":"Get an asset","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assets/{asset_id}","href":"/api-reference/assets/get-an-asset"},{"title":"Update an asset","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/assets/{asset_id}","href":"/api-reference/assets/update-an-asset"},{"title":"Delete an asset","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/assets/{asset_id}","href":"/api-reference/assets/delete-an-asset"},{"title":"See where an asset is used","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assets/{asset_id}/usage","href":"/api-reference/assets/see-where-an-asset-is-used"},{"title":"Restore a deleted asset","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assets/{asset_id}/restore","href":"/api-reference/assets/restore-a-deleted-asset"},{"title":"Permanently delete a deleted asset","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assets/{asset_id}/purge","href":"/api-reference/assets/permanently-delete-a-deleted-asset"}]},{"group":"Search","icon":"search","pages":[{"title":"Search records","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/search","href":"/api-reference/search/search-records"},{"title":"Search across collections","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}/search","href":"/api-reference/search/search-across-collections"},{"title":"Get search index status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/collections/{collection_id}/search-index","href":"/api-reference/search/get-search-index-status"},{"title":"Rebuild the search index","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/collections/{collection_id}/search-index/rebuild","href":"/api-reference/search/rebuild-the-search-index"}]},{"group":"Webhooks","icon":"webhook","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create a webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/webhooks","href":"/api-reference/webhooks/create-a-webhook"},{"title":"Get a webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/get-a-webhook"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/update-a-webhook"},{"title":"Delete a webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/delete-a-webhook"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/test","href":"/api-reference/webhooks/send-a-test-event"},{"title":"List a webhook's secrets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{webhook_id}/secrets","href":"/api-reference/webhooks/list-a-webhooks-secrets"},{"title":"Rotate a webhook's signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/secrets","href":"/api-reference/webhooks/rotate-a-webhooks-signing-secret"},{"title":"Retire a webhook secret","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhook-secrets/{secret_id}","href":"/api-reference/webhooks/retire-a-webhook-secret"},{"title":"Restore a webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/restore","href":"/api-reference/webhooks/restore-a-webhook"}]},{"group":"Webhook deliveries","icon":"send","pages":[{"title":"List deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{webhook_id}/deliveries","href":"/api-reference/deliveries/list-deliveries"},{"title":"Get a delivery","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhook-deliveries/{delivery_id}","href":"/api-reference/deliveries/get-a-delivery"},{"title":"Retry a delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhook-deliveries/{delivery_id}/retry","href":"/api-reference/deliveries/retry-a-delivery"}]},{"group":"Activity log","icon":"history","pages":[{"title":"List a project's audit events","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}/audit-events","href":"/api-reference/audit/list-a-projects-audit-events"}]},{"group":"System","icon":"activity","pages":[{"title":"Check API health","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/health","href":"/api-reference/system/check-api-health"},{"title":"Get the authenticated principal","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me","href":"/api-reference/system/get-the-authenticated-principal"},{"title":"Get evaluated feature flags","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/feature-flags","href":"/api-reference/system/get-evaluated-feature-flags"}]}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]}]},"basePath":"","title":"Update a record - Nohead","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}