<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documents :: Geena User API</title>
    <link>https://docs.test.geena.eu/user/documents/index.html</link>
    <description>Documents (private vault) Structured JSON documents stored in the caller’s private vault. Each document is encrypted with a vault-scoped DEK; the vault must be unsealed for all document operations.&#xA;Queries: list, get, versions Mutations: create, update, delete, validate</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://docs.test.geena.eu/user/documents/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>list</title>
      <link>https://docs.test.geena.eu/user/documents/list/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/list/index.html</guid>
      <description>user.document.list Lists documents in the caller’s private vault (latest version only).&#xA;Auth Bearer JWT + unsealed vault.&#xA;Input input DocumentListWhereInput { schemaRef: String # canonical schema URL, see /reference/schemas pagination: PaginationInput } Omit where to return every document.</description>
    </item>
    <item>
      <title>get</title>
      <link>https://docs.test.geena.eu/user/documents/get/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/get/index.html</guid>
      <description>user.document.get Fetches one document (latest version) including its decrypted JSON content.&#xA;Auth Bearer JWT + unsealed vault.&#xA;Arguments Arg Type Description id ID! Document UUID GraphQL query($id: ID!) { user { document { get(id: $id) { metadata { id version schemaRef name audit { updatedAt } } content { data } } } } } Response { &#34;data&#34;: { &#34;user&#34;: { &#34;document&#34;: { &#34;get&#34;: { &#34;metadata&#34;: { &#34;id&#34;: &#34;7b4f...&#34;, &#34;version&#34;: 3, &#34;schemaRef&#34;: &#34;https://schema.identa.io/core/PersonFullName.json&#34;, &#34;name&#34;: &#34;My name&#34; }, &#34;content&#34;: { &#34;data&#34;: { &#34;firstName&#34;: &#34;Alice&#34;, &#34;lastName&#34;: &#34;Liddell&#34; } } } } } } } curl curl -X POST https://api.test.geena.eu/graphql \ -H &#34;Authorization: Bearer $TOKEN&#34; \ -H &#34;Content-Type: application/json&#34; \ -d &#39;{ &#34;query&#34;: &#34;query($id: ID!) { user { document { get(id: $id) { metadata { id name } content { data } } } } }&#34;, &#34;variables&#34;: { &#34;id&#34;: &#34;7b4f-...&#34; } }&#39;</description>
    </item>
    <item>
      <title>versions</title>
      <link>https://docs.test.geena.eu/user/documents/versions/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/versions/index.html</guid>
      <description>user.document.versions Returns all historical versions of a document (metadata only, newest first).&#xA;Auth Bearer JWT + unsealed vault.&#xA;Arguments Arg Type Description id ID! Document UUID GraphQL query($id: ID!) { user { document { versions(id: $id) { id version schemaRef name audit { updatedAt updatedBy } } } } } Response [DocumentMetadata!]!, one entry per version. Use get to read a specific version’s payload by querying the same id at that point in time (the system stores the latest is_latest flag; historical retrieval is planned but not yet exposed).</description>
    </item>
    <item>
      <title>create</title>
      <link>https://docs.test.geena.eu/user/documents/create/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/create/index.html</guid>
      <description>user.document.create Creates a new document in the caller’s private vault. The data payload is validated against the referenced schema (schemaRef OR embedded documentSchema) before encryption.&#xA;Auth Bearer JWT + unsealed vault.&#xA;Input input DocumentInput { name: String! schemaRef: String # either this OR documentSchema — not both documentSchema: JSON # inline JSON Schema (Draft 2020-12) description: String uniquePerVault: Boolean # default false; immutable after creation data: JSON! } Info schemaRef and documentSchema are mutually exclusive. Provide exactly one. If uniquePerVault: true, the database enforces a single document per vault per schema — creating a second one will fail.</description>
    </item>
    <item>
      <title>update</title>
      <link>https://docs.test.geena.eu/user/documents/update/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/update/index.html</guid>
      <description>user.document.update Replaces the content of an existing document and increments its version. The DEK is shared across versions, so keys are not rotated on update.&#xA;Auth Bearer JWT + unsealed vault.&#xA;Arguments Arg Type Description id ID! Document UUID input DocumentInput! Same shape as create See create for the DocumentInput fields. uniquePerVault cannot be changed on update (ignored).</description>
    </item>
    <item>
      <title>delete</title>
      <link>https://docs.test.geena.eu/user/documents/delete/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/delete/index.html</guid>
      <description>user.document.delete Soft-deletes a document. All versions are marked deleted atomically.&#xA;Auth Bearer JWT + unsealed vault.&#xA;Arguments Arg Type Description id ID! Document UUID GraphQL mutation($id: ID!) { user { document { delete(id: $id) } } } Returns the deleted document’s id on success.</description>
    </item>
    <item>
      <title>validate</title>
      <link>https://docs.test.geena.eu/user/documents/validate/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.test.geena.eu/user/documents/validate/index.html</guid>
      <description>user.document.validate Runs JSON Schema validation against a DocumentInput without creating or mutating anything. Useful for client-side “check before submit” UX when you want the authoritative server-side schema verdict.&#xA;Auth Bearer JWT. Vault can be sealed — this endpoint does not touch encrypted data.</description>
    </item>
  </channel>
</rss>