{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/woz-api-nl/json-schema/woz-api-nl-proef-sleutel-antwoord-schema.json",
  "title": "ProefSleutelAntwoord",
  "description": "Een nieuwe proefsleutel. De sleutel is alleen in dit antwoord te zien.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/woz-api-nl-openapi.json#/components/schemas/ProefSleutelAntwoord",
  "type": "object",
  "properties": {
    "sleutel": {
      "type": [
        "string",
        "null"
      ],
      "description": "De sleutel. Stuur hem mee als header X-Api-Key, nooit in een URL."
    },
    "tegoed": {
      "$ref": "#/$defs/TegoedInfo"
    },
    "email": {
      "type": [
        "string",
        "null"
      ],
      "description": "\"ontvangen\" als er een e-mailadres meekwam, anders leeg."
    },
    "gebruik": {
      "type": [
        "string",
        "null"
      ],
      "description": "Hoe je de sleutel gebruikt."
    },
    "regels": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Regels voor wie namens een gebruiker opvraagt."
    }
  },
  "additionalProperties": false,
  "$defs": {
    "TegoedInfo": {
      "type": "object",
      "properties": {
        "soort": {
          "type": [
            "string",
            "null"
          ],
          "description": "\"proef\" zolang de sleutel aan geen account hangt, \"credits\" als hij van een account is."
        },
        "limiet": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Unieke adressen die deze proef in totaal mag; leeg bij credits.",
          "format": "int32"
        },
        "gebruikt": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Unieke adressen die al gebruikt zijn; leeg bij credits.",
          "format": "int32"
        },
        "resterend": {
          "type": "integer",
          "description": "Wat er nog kan: adressen in de proef, of credits op het account.",
          "format": "int32"
        },
        "verlooptOp": {
          "type": [
            "string",
            "null"
          ],
          "description": "Wanneer een proefsleutel zonder account vervalt.",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "description": "Het tegoed van een proefsleutel of van een account dat een AI-assistent aanmaakte."
    }
  }
}