{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ibanfirst/main/json-schema/ibanfirst-log-schema.json",
  "title": "Log",
  "description": "Representation of a log.\n",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ibanfirst-logs-api-openapi.yml#/components/schemas/Log",
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/$defs/ID"
    },
    "createdAt": {
      "$ref": "#/$defs/Datetime"
    },
    "closedAt": {
      "$ref": "#/$defs/Datetime"
    },
    "tokenNonce": {
      "type": "string",
      "description": "The nonce used in the HTTP header to authenticate the request.\n"
    },
    "remoteAddress": {
      "type": "string",
      "maxLength": 15,
      "description": "The IP address of the request's emiter.\n"
    },
    "requestMethod": {
      "type": "string",
      "maxLength": 6,
      "description": "The HTTP method of the request\n"
    },
    "uriRequested": {
      "type": "string",
      "description": "The Universal Resource Identifier given for this request.\n"
    },
    "parametersGiven": {
      "type": "string",
      "description": "The optional parameters *(e.g. after the ?)* given for this request.\n"
    },
    "requestBody": {
      "type": "string",
      "description": "The HTTP request body.\n"
    },
    "httpResponseCode": {
      "type": "number",
      "format": "int",
      "description": "The HTTP response code.\n"
    },
    "responseBody": {
      "type": "string",
      "description": "The text sent by the server as a result for the request.\n"
    },
    "restErrorTypeId": {
      "type": "number",
      "format": "integer",
      "description": "If there is an error during the processing the request, this id could be used to find this error.\n"
    },
    "login": {
      "type": "string",
      "description": "The login used for the request.\n"
    },
    "legalname": {
      "type": "string",
      "description": "The legal name of the client used for the request.\n"
    }
  },
  "$defs": {
    "Datetime": {
      "type": "string",
      "pattern": "^((19[0,99]|2[0-9]{3})\\-(0[1-9]|1[012])\\-([012][0-9]|3[01])\\ ([01][0-9]|2[0-3])\\:([0-5][0-9])\\:([0-5][0-9]))$",
      "format": "^((19[0,99]|2[0-9]{3})\\-(0[1-9]|1[012])\\-([012][0-9]|3[01])\\ ([01][0-9]|2[0-3])\\:([0-5][0-9])\\:([0-5][0-9]))$",
      "description": "A String representing a date by its year, month, day in month, hour, minute and second.\n"
    },
    "ID": {
      "type": "string",
      "pattern": "^[A-Za-z0-9]+$",
      "format": "^[A-Za-z0-9]+$",
      "description": "A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.\n"
    }
  }
}