---
openapi: 3.1.1
info:
  title: Demo - Currency
  version: "20260726.003703"
  description: API description for Project "Currency"
externalDocs:
  url: https://documentation.nodegoat.net/API
  description: Full documentation for Data API.
servers:
- url: https://demo.nodegoat.io/project/9/
  description: ""
paths:
  /{id}:
    get:
      summary: Get Objects based on an identifier.
      parameters:
      - $ref: '#/components/parameters/data.identifier.path'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of one or more Objects that match the given identifier.
  /:
    get:
      summary: Get Objects based on an identifier.
      parameters:
      - $ref: '#/components/parameters/data.identifier.query'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of one or more Objects that match the given identifier.
  /data/type/{type_id}/object/:
    get:
      summary: Get Objects from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/other.search'
      - $ref: '#/components/parameters/other.limit'
      - $ref: '#/components/parameters/other.offset'
      - $ref: '#/components/parameters/other.filter'
      - $ref: '#/components/parameters/other.scope'
      - $ref: '#/components/parameters/other.condition'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of Objects for the given Type ID and the query parameters.
    post:
      summary: Get Objects from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        $ref: '#/components/requestBodies/data.type_objects'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of Objects for the given Type ID and the query parameters.
    put:
      summary: Add or update (fully overwrite) Objects from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                add:
                  type: array
                  items:
                    oneOf:
                    - $ref: '#/components/schemas/data.type_104_object'
                    - $ref: '#/components/schemas/data.type_161_object'
                    - $ref: '#/components/schemas/data.type_105_object'
                    - $ref: '#/components/schemas/data.type_106_object'
                    - $ref: '#/components/schemas/data.type_79_object'
                    - $ref: '#/components/schemas/data.type_5_object'
                update:
                  type: object
                  propertyNames:
                    pattern: ^([0-9]+|ng[a-zA-Z0-9]+)$
                    description: Object ID or nodegoat ID.
                  additionalProperties:
                    oneOf:
                    - $ref: '#/components/schemas/data.type_104_object'
                    - $ref: '#/components/schemas/data.type_161_object'
                    - $ref: '#/components/schemas/data.type_105_object'
                    - $ref: '#/components/schemas/data.type_106_object'
                    - $ref: '#/components/schemas/data.type_79_object'
                    - $ref: '#/components/schemas/data.type_5_object'
                  description: The Object ID has to be set as dictionary key.
      responses:
        200:
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/data.reponse.added'
                - $ref: '#/components/schemas/data.reponse.updated'
          description: List of Object IDs that have been added or updated.
    patch:
      summary: Update (parts of) Objects from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              propertyNames:
                pattern: ^([0-9]+|ng[a-zA-Z0-9]+)$
                description: Object ID or nodegoat ID.
              additionalProperties:
                oneOf:
                - $ref: '#/components/schemas/data.type_104_object'
                - $ref: '#/components/schemas/data.type_161_object'
                - $ref: '#/components/schemas/data.type_105_object'
                - $ref: '#/components/schemas/data.type_106_object'
                - $ref: '#/components/schemas/data.type_79_object'
                - $ref: '#/components/schemas/data.type_5_object'
              description: The Object ID has to be set as dictionary key.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.reponse.updated'
          description: List of Object IDs that have been updated.
    delete:
      summary: Delete Objects from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              propertyNames:
                pattern: ^([0-9]+|ng[a-zA-Z0-9]+)$
                description: Object ID or nodegoat ID.
              additionalProperties:
                type: boolean
                description: Set to true to delete an Object.
              description: The Object ID has to be set as dictionary key.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.reponse.deleted'
          description: List of Object IDs that have been deleted.
  /data/type/{type_id}/object/{object_id}:
    get:
      summary: Get specific Object(s) from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/data.object_id.get'
      - $ref: '#/components/parameters/other.search'
      - $ref: '#/components/parameters/other.limit'
      - $ref: '#/components/parameters/other.offset'
      - $ref: '#/components/parameters/other.filter'
      - $ref: '#/components/parameters/other.scope'
      - $ref: '#/components/parameters/other.condition'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of Objects for the given Object IDs and the query parameters.
    post:
      summary: Get specific Object(s) from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/data.object_id.get'
      requestBody:
        $ref: '#/components/requestBodies/data.type_objects'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.type_objects.json'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/data.type_objects.jsonld'
          description: List of Objects for the given Object IDs and the query parameters.
    put:
      summary: Update (fully overwrite) an Object from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/data.object_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/data.type_104_object'
              - $ref: '#/components/schemas/data.type_161_object'
              - $ref: '#/components/schemas/data.type_105_object'
              - $ref: '#/components/schemas/data.type_106_object'
              - $ref: '#/components/schemas/data.type_79_object'
              - $ref: '#/components/schemas/data.type_5_object'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.reponse.updated'
          description: Lists the Object ID that has been updated.
    patch:
      summary: Update (parts of) an Object from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/data.object_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/data.type_104_object'
              - $ref: '#/components/schemas/data.type_161_object'
              - $ref: '#/components/schemas/data.type_105_object'
              - $ref: '#/components/schemas/data.type_106_object'
              - $ref: '#/components/schemas/data.type_79_object'
              - $ref: '#/components/schemas/data.type_5_object'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.reponse.updated'
          description: Lists the Object ID that has been updated.
    delete:
      summary: Delete an Object from a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/data.object_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: boolean
              description: Set to true to delete an Object.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data.reponse.deleted'
          description: Lists the Object ID that has been deleted.
  /model/type:
    get:
      summary: Get the data Model for all Types.
      parameters:
      - $ref: '#/components/parameters/model.output'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.types'
          description: Data Model for all Types.
    post:
      summary: Get the data Model for all Types.
      parameters: []
      requestBody:
        $ref: '#/components/requestBodies/model.types'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.types'
          description: Data Model for all Types.
    put:
      summary: Add or update (fully overwrite) the data Model for the listed Types.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                add:
                  type: array
                  items:
                    $ref: '#/components/schemas/model.type'
                update:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/model.type'
                  description: The Type ID / identifier has to be set as dictionary
                    key.
      responses:
        200:
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/model.reponse.added'
                - $ref: '#/components/schemas/model.reponse.updated'
          description: List of Type IDs that have been added or updated.
    patch:
      summary: Update (parts of) the data Model for the listed Types.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/model.type'
              description: The Type ID / identifier has to be set as dictionary key.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.reponse.updated'
          description: List of Type IDs that have been updated.
    delete:
      summary: Delete the data Model for the listed Types.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: boolean
                description: Set to true to delete a Type.
              description: The Type ID / identifier has to be set as dictionary key.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.reponse.deleted'
          description: List of Type IDs that have been deleted.
  /model/type/{type_id}:
    get:
      summary: Get the data Model for a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id.get'
      - $ref: '#/components/parameters/model.output'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.types'
          description: Data Model for the specified Type(s).
    post:
      summary: Get the data Model for a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id.get'
      requestBody:
        $ref: '#/components/requestBodies/model.types'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.types'
          description: Data Model for the specified Type(s).
    put:
      summary: Update (fully overwrite) the data Model for a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/model.type'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.reponse.updated'
          description: Lists the Type ID that has been updated.
    patch:
      summary: Update (parts of) the data Model for a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/model.type'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.reponse.updated'
          description: Lists the Type ID that has been updated.
    delete:
      summary: Delete the data Model for a Type.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: boolean
              description: Set to true to delete a Type.
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.reponse.deleted'
          description: Lists the Type ID that has been deleted.
  /graph/type/{type_id}/analysis/{analysis_id}:
    get:
      summary: Get a list with all edges, their related nodes, weight, and time from
        a stored Analysis.
      parameters:
      - $ref: '#/components/parameters/model.type_id'
      - $ref: '#/components/parameters/other.analysis_id'
      - $ref: '#/components/parameters/other.condition'
      responses:
        200:
          content:
            text/csv:
              schema:
                type: string
          description: Edge list including weight and time in CSV-format.
components:
  schemas:
    model.type_104_id:
      const: 104
      title: Type ID 104
      description: Banknote
    data.type_104_object:
      title: Object - Banknote
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_104_id'
            object_name:
              type: string
              description: The name of a Banknote
        object_definitions:
          type: object
          properties:
            335:
              type: object
              title: Object Definition - Denomination
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_335_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            336:
              type: object
              title: Object Definition - Subject
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_336_id'
                object_definition_ref_object_id:
                  type: array
                  items:
                    type: integer
                  description: List of references to Objects that belong to Type 105
                object_definition_value:
                  type: array
                  items:
                    type: string
                  description: List of names from Subject
              required:
              - object_description_id
            337:
              type: object
              title: Object Definition - Country of issue
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_337_id'
                object_definition_ref_object_id:
                  type: integer
                  description: Reference to an Object that belongs to Type 106
                object_definition_value:
                  type: string
                  description: Name from States
              required:
              - object_description_id
            338:
              type: object
              title: Object Definition - Year issued
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_338_id'
                object_definition_value:
                  type: string
                  description: Date
              required:
              - object_description_id
            342:
              type: object
              title: Object Definition - Picture
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_342_id'
                object_definition_value:
                  type: string
                  description: Media (External)
              required:
              - object_description_id
            1144:
              type: object
              title: Object Definition - Reference Period
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_104_object_description_1144_id'
                object_definition_ref_object_id:
                  type: array
                  items:
                    type: integer
                  description: List of references to Objects that belong to Type 81
                object_definition_value:
                  type: array
                  items:
                    type: string
                  description: List of names from Reference Period
              required:
              - object_description_id
        object_subs:
          type: array
          items:
            anyOf:
            - $ref: '#/components/schemas/data.type_104_object_sub_details_160'
    model.type_104_object_description_335_id:
      const: 335
      title: Object Description ID 335
      description: Denomination
    model.type_104_object_description_336_id:
      const: 336
      title: Object Description ID 336
      description: Subject
    model.type_104_object_description_337_id:
      const: 337
      title: Object Description ID 337
      description: Country of issue
    model.type_104_object_description_338_id:
      const: 338
      title: Object Description ID 338
      description: Year issued
    model.type_104_object_description_342_id:
      const: 342
      title: Object Description ID 342
      description: Picture
    model.type_104_object_description_1144_id:
      const: 1144
      title: Object Description ID 1144
      description: Reference Period
    model.type_104_object_sub_details_160_id:
      const: 160
      title: Sub-Object Details ID 160
      description: introduction year
    data.type_104_object_sub_details_160:
      type: object
      title: Sub-Object - introduction year
      description: ""
      properties:
        object_sub:
          type: object
          properties:
            object_sub_id:
              $ref: '#/components/schemas/data.object_sub_id'
            object_sub_details_id:
              $ref: '#/components/schemas/model.type_104_object_sub_details_160_id'
            object_sub_date_start:
              $ref: '#/components/schemas/data.object_sub_date_single'
            object_sub_date_chronology:
              $ref: '#/components/schemas/data.object_sub_date_chronology'
            object_sub_location_ref_object_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_id'
            object_sub_location_ref_object_name:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_name'
            object_sub_location_ref_type_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_type_id'
            object_sub_location_geometry:
              $ref: '#/components/schemas/data.object_sub_location_geometry'
          required:
          - object_sub_details_id
    model.type_161_id:
      const: 161
      title: Type ID 161
      description: Geometry
    data.type_161_object:
      title: Object - Geometry
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_161_id'
            object_name:
              type: string
              description: The name of a Geometry
        object_definitions:
          type: object
          properties:
            791:
              type: object
              title: Object Definition - Name
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_161_object_description_791_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            792:
              type: object
              title: Object Definition - Alternative names
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_161_object_description_792_id'
                object_definition_value:
                  type: string
                  description: Text
              required:
              - object_description_id
            793:
              type: object
              title: Object Definition - URI
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_161_object_description_793_id'
                object_definition_value:
                  type: string
                  description: External
              required:
              - object_description_id
            31902:
              type: object
              title: Object Definition - Collection
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_161_object_description_31902_id'
                object_definition_ref_object_id:
                  type: integer
                  description: Reference to an Object that belongs to Type 11130
                object_definition_value:
                  type: string
                  description: Name from Geometry Collection
              required:
              - object_description_id
            35069:
              type: object
              title: Object Definition - Places
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_161_object_description_35069_id'
                object_definition_ref_object_id:
                  type: array
                  items:
                    type: integer
                  description: List of references to Objects that belong to Type 5
                object_definition_value:
                  type: array
                  items:
                    type: string
                  description: List of names from City
              required:
              - object_description_id
        object_subs:
          type: array
          items:
            anyOf:
            - $ref: '#/components/schemas/data.type_161_object_sub_details_209'
    model.type_161_object_description_791_id:
      const: 791
      title: Object Description ID 791
      description: Name
    model.type_161_object_description_792_id:
      const: 792
      title: Object Description ID 792
      description: Alternative names
    model.type_161_object_description_793_id:
      const: 793
      title: Object Description ID 793
      description: URI
    model.type_161_object_description_31902_id:
      const: 31902
      title: Object Description ID 31902
      description: Collection
    model.type_161_object_description_35069_id:
      const: 35069
      title: Object Description ID 35069
      description: Places
    model.type_161_object_sub_details_209_id:
      const: 209
      title: Sub-Object Details ID 209
      description: Area
    data.type_161_object_sub_details_209:
      type: object
      title: Sub-Object - Area
      description: ""
      properties:
        object_sub:
          type: object
          properties:
            object_sub_id:
              $ref: '#/components/schemas/data.object_sub_id'
            object_sub_details_id:
              $ref: '#/components/schemas/model.type_161_object_sub_details_209_id'
            object_sub_date_start:
              $ref: '#/components/schemas/data.object_sub_date_period_start'
            object_sub_date_end:
              $ref: '#/components/schemas/data.object_sub_date_period_end'
            object_sub_date_chronology:
              $ref: '#/components/schemas/data.object_sub_date_chronology'
            object_sub_location_ref_object_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_id'
            object_sub_location_ref_object_name:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_name'
            object_sub_location_ref_type_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_type_id'
            object_sub_location_geometry:
              $ref: '#/components/schemas/data.object_sub_location_geometry'
          required:
          - object_sub_details_id
    model.type_105_id:
      const: 105
      title: Type ID 105
      description: Subject
    data.type_105_object:
      title: Object - Subject
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_105_id'
            object_name:
              type: string
              description: The name of a Subject
        object_definitions:
          type: object
          properties:
            339:
              type: object
              title: Object Definition - Last name
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_105_object_description_339_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            340:
              type: object
              title: Object Definition - First name
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_105_object_description_340_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            341:
              type: object
              title: Object Definition - Personality
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_105_object_description_341_id'
                object_definition_ref_object_id:
                  type: array
                  items:
                    type: integer
                  description: List of references to Objects that belong to Type 79
                object_definition_value:
                  type: array
                  items:
                    type: string
                  description: List of names from Personality
              required:
              - object_description_id
            343:
              type: object
              title: Object Definition - Background information
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_105_object_description_343_id'
                object_definition_value:
                  type: string
                  description: Text
              required:
              - object_description_id
    model.type_105_object_description_339_id:
      const: 339
      title: Object Description ID 339
      description: Last name
    model.type_105_object_description_340_id:
      const: 340
      title: Object Description ID 340
      description: First name
    model.type_105_object_description_341_id:
      const: 341
      title: Object Description ID 341
      description: Personality
    model.type_105_object_description_343_id:
      const: 343
      title: Object Description ID 343
      description: Background information
    model.type_106_id:
      const: 106
      title: Type ID 106
      description: States
    data.type_106_object:
      title: Category - States
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_106_id'
            object_name:
              type: string
              description: The name of a States
    model.type_79_id:
      const: 79
      title: Type ID 79
      description: Personality
    data.type_79_object:
      title: Category - Personality
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_79_id'
            object_name:
              type: string
              description: The name of a Personality
    model.type_5_id:
      const: 5
      title: Type ID 5
      description: City
    data.type_5_object:
      title: Object - City
      description: ""
      type: object
      properties:
        object:
          type: object
          properties:
            nodegoat_id:
              $ref: '#/components/schemas/data.nodegoat_id'
            object_id:
              $ref: '#/components/schemas/data.object_id'
            type_id:
              $ref: '#/components/schemas/model.type_5_id'
            object_name:
              type: string
              description: The name of a City
        object_definitions:
          type: object
          properties:
            32:
              type: object
              title: Object Definition - GeoNames ID
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_5_object_description_32_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            42:
              type: object
              title: Object Definition - ASCII Name
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_5_object_description_42_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            43:
              type: object
              title: Object Definition - Alternate Names
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_5_object_description_43_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
            44:
              type: object
              title: Object Definition - Country Code
              description: ""
              properties:
                object_description_id:
                  $ref: '#/components/schemas/model.type_5_object_description_44_id'
                object_definition_value:
                  type: string
                  description: String
              required:
              - object_description_id
        object_subs:
          type: array
          items:
            anyOf:
            - $ref: '#/components/schemas/data.type_5_object_sub_details_57'
    model.type_5_object_description_32_id:
      const: 32
      title: Object Description ID 32
      description: GeoNames ID
    model.type_5_object_description_42_id:
      const: 42
      title: Object Description ID 42
      description: ASCII Name
    model.type_5_object_description_43_id:
      const: 43
      title: Object Description ID 43
      description: Alternate Names
    model.type_5_object_description_44_id:
      const: 44
      title: Object Description ID 44
      description: Country Code
    model.type_5_object_sub_details_57_id:
      const: 57
      title: Sub-Object Details ID 57
      description: Located
    data.type_5_object_sub_details_57:
      type: object
      title: Sub-Object - Located
      description: ""
      properties:
        object_sub:
          type: object
          properties:
            object_sub_id:
              $ref: '#/components/schemas/data.object_sub_id'
            object_sub_details_id:
              $ref: '#/components/schemas/model.type_5_object_sub_details_57_id'
            object_sub_date_start:
              $ref: '#/components/schemas/data.object_sub_date_single'
            object_sub_date_chronology:
              $ref: '#/components/schemas/data.object_sub_date_chronology'
            object_sub_location_ref_object_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_id'
            object_sub_location_ref_object_name:
              $ref: '#/components/schemas/data.object_sub_location_ref_object_name'
            object_sub_location_ref_type_id:
              $ref: '#/components/schemas/data.object_sub_location_ref_type_id'
            object_sub_location_geometry:
              $ref: '#/components/schemas/data.object_sub_location_geometry'
          required:
          - object_sub_details_id
    model.type_id:
      type: integer
      title: Type ID
    model.definition_id:
      type: integer
      title: Object Description ID
    model.object_description_id:
      type: integer
      title: Object Description ID
    model.object_sub_details_id:
      type: integer
      title: Sub-Object Details ID
    model.object_sub_description_id:
      type: integer
      title: Sub-Object Description ID
    model.object_description_value_type_base:
      type: string
      enum:
      - type
      - classification
      - reference_mutable
      - reversal
      - ""
      - integer
      - numeric
      - text
      - text_layout
      - text_tags
      - boolean
      - date
      - serial_string
      - media
      - media_external
      - module
      - external
      - vector
      title: Value types for Object Description
    model.object_sub_description_value_type_base:
      type: string
      enum:
      - type
      - classification
      - reference_mutable
      - reversal
      - ""
      - integer
      - numeric
      - text
      - text_layout
      - text_tags
      - boolean
      - date
      - serial_string
      - media
      - media_external
      - module
      - external
      - vector
      - object_description
      title: Value types for Sub-Object Descriptions
    model.type:
      type: object
      title: Type
      properties:
        type:
          type: object
          properties:
            type_id:
              $ref: '#/components/schemas/model.type_id'
            class:
              type: integer
            name:
              type: string
            color:
              type: string
        definitions:
          type: array
          items:
            type: object
            properties:
              definition_id:
                $ref: '#/components/schemas/model.definition_id'
              definition_name:
                type: string
              definition_text:
                type: string
        object_descriptions:
          type: array
          items:
            type: object
            properties:
              object_description_id:
                $ref: '#/components/schemas/model.object_description_id'
              object_description_name:
                type: string
              object_description_value_type_base:
                $ref: '#/components/schemas/model.object_description_value_type_base'
              object_description_value_type_settings:
                type:
                - array
                - object
              object_description_is_required:
                type: boolean
              object_description_is_unique:
                type: boolean
              object_description_is_identifier:
                type: boolean
              object_description_has_multi:
                type: boolean
              object_description_ref_type_id:
                $ref: '#/components/schemas/model.type_id'
        object_sub_details:
          type: array
          items:
            type: object
            properties:
              object_sub_details:
                type: object
                properties:
                  object_sub_details_id:
                    $ref: '#/components/schemas/model.object_sub_details_id'
                  object_sub_details_name:
                    type: string
                  object_sub_details_is_single:
                    type: boolean
                  object_sub_details_is_required:
                    type: boolean
                  object_sub_details_has_date:
                    type: boolean
                  object_sub_details_is_date_period:
                    type: boolean
                  object_sub_details_date_setting:
                    type: string
                  object_sub_details_date_use_object_sub_details_id:
                    $ref: '#/components/schemas/model.object_sub_details_id'
                    title: Use a different Sub-Object Details to source for the date.
                  object_sub_details_date_start_use_object_sub_description_id:
                    $ref: '#/components/schemas/model.object_sub_description_id'
                    title: Use a Sub-Object Description to source for the date start.
                  object_sub_details_date_start_use_object_description_id:
                    $ref: '#/components/schemas/model.object_description_id'
                    title: Use a Object Description to source for the date start.
                  object_sub_details_date_end_use_object_sub_description_id:
                    $ref: '#/components/schemas/model.object_sub_description_id'
                    title: Use a Sub-Object Description to source for the date end.
                  object_sub_details_date_end_use_object_description_id:
                    $ref: '#/components/schemas/model.object_description_id'
                    title: Use a Object Description to source for the date end.
                  object_sub_details_has_location:
                    type: boolean
                  object_sub_details_location_setting:
                    type: string
                  object_sub_details_location_ref_type_id:
                    $ref: '#/components/schemas/model.type_id'
                  object_sub_details_location_ref_type_id_locked:
                    type: boolean
                  object_sub_details_location_ref_object_sub_details_id:
                    $ref: '#/components/schemas/model.object_sub_details_id'
                  object_sub_details_location_ref_object_sub_details_id_locked:
                    type: boolean
                  object_sub_details_location_use_object_sub_details_id:
                    $ref: '#/components/schemas/model.object_sub_details_id'
                  object_sub_details_location_use_object_sub_description_id:
                    $ref: '#/components/schemas/model.object_sub_description_id'
                  object_sub_details_location_use_object_description_id:
                    $ref: '#/components/schemas/model.object_description_id'
                  object_sub_details_location_use_object_id:
                    type: boolean
              object_sub_descriptions:
                type: array
                items:
                  type: object
                  properties:
                    object_sub_description_id:
                      $ref: '#/components/schemas/model.object_sub_description_id'
                    object_sub_description_name:
                      type: string
                    object_sub_description_value_type_base:
                      $ref: '#/components/schemas/model.object_sub_description_value_type_base'
                    object_sub_description_value_type_settings:
                      type:
                      - array
                      - object
                    object_sub_description_is_required:
                      type: boolean
                    object_sub_description_ref_type_id:
                      $ref: '#/components/schemas/model.type_id'
                    object_sub_description_use_object_description_id:
                      $ref: '#/components/schemas/model.object_description_id'
    data.nodegoat_id:
      type: string
      title: nodegoat ID
      description: Unique identifier, for URI and external use. Can also be used for
        object_id.
    data.object_id:
      type: integer
      title: Object ID
    data.object_sub_id:
      type: integer
      title: Sub-Object ID
    data.object_sub_date_single:
      type: string
      title: Sub-Object single date
    data.object_sub_date_period_start:
      type: string
      title: Sub-Object date period start
    data.object_sub_date_period_end:
      type: string
      title: Sub-Object date period end
    data.object_sub_date_chronology:
      type: string
      title: Sub-Object ChronoJSON
    data.object_sub_location_ref_object_id:
      allOf:
      - $ref: '#/components/schemas/data.object_id'
      title: Sub-Object location Object ID
      description: ID of the Object that is used for the Sub-Object's location.
    data.object_sub_location_ref_object_name:
      type: string
      title: Sub-Object location Object name
      description: Name of the Object that is used for the Sub-Object's location.
    data.object_sub_location_ref_type_id:
      allOf:
      - $ref: '#/components/schemas/model.type_id'
      title: Sub-Object location Type ID
      description: ID of the Type that is used to lookup the Object used for the Sub-Object's
        location.
    data.object_sub_location_geometry:
      type: string
      title: Sub-Object GeoJSON.
    data.type_objects.json:
      type: object
      title: Data Objects output
      properties:
        data:
          type: object
          properties:
            objects:
              type: array
              items:
                oneOf:
                - $ref: '#/components/schemas/data.type_104_object'
                - $ref: '#/components/schemas/data.type_161_object'
                - $ref: '#/components/schemas/data.type_105_object'
                - $ref: '#/components/schemas/data.type_106_object'
                - $ref: '#/components/schemas/data.type_79_object'
                - $ref: '#/components/schemas/data.type_5_object'
    data.type_objects.jsonld:
      type: object
      title: Data Objects output in JSON-LD
    model.types:
      type: object
      title: Data Model output
      properties:
        data:
          type: object
          properties:
            types:
              type: array
              items:
                $ref: '#/components/schemas/model.type'
    model.output:
      oneOf:
      - const: default
        description: Use IDs, default.
      - const: template
        description: Use names (identifiers) instead of IDs for any ID found in the
          data Model. A name-based data Model can be resolved automatically, i.e.
          when storing a new data Model.
      title: Data Model output mode
      description: Select the ouput mode for the data Model.
    other.search:
      type: string
      title: Search field
      description: Free text field.
    other.filter:
      type: object
      title: Filter form
      description: Form with a full Filter description.
    other.scope:
      type: object
      title: Scope form
      description: Form with a full Scope description.
    other.limit:
      type: integer
      title: Limit results
      description: Limit the results to a maximum amount of Objects.
    other.offset:
      type: integer
      title: Offset results
      description: Offset the results with a specific amount of Objects.
    data.reponse.added:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            objects:
              type: object
              properties:
                added:
                  type: array
                  items:
                    $ref: '#/components/schemas/data.object_id'
    data.reponse.updated:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            objects:
              type: object
              properties:
                updated:
                  type: array
                  items:
                    $ref: '#/components/schemas/data.object_id'
    data.reponse.deleted:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            objects:
              type: object
              properties:
                deleted:
                  type: array
                  items:
                    $ref: '#/components/schemas/data.object_id'
    model.reponse.added:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            types:
              type: object
              properties:
                added:
                  type: array
                  items:
                    $ref: '#/components/schemas/model.type_id'
    model.reponse.updated:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            types:
              type: object
              properties:
                updated:
                  type: array
                  items:
                    $ref: '#/components/schemas/model.type_id'
    model.reponse.deleted:
      type: object
      title: Response action output
      properties:
        data:
          type: object
          properties:
            types:
              type: object
              properties:
                deleted:
                  type: array
                  items:
                    $ref: '#/components/schemas/model.type_id'
  parameters:
    data.identifier.path:
      name: id
      in: path
      required: true
      schema:
        oneOf:
        - $ref: '#/components/schemas/data.nodegoat_id'
        - $ref: '#/components/schemas/data.object_id'
        - type: string
      description: Identifier can be a nodegoat ID, Object ID, or an identifier matching
        an Object Definition from one of the designated Object Descriptions.
    data.identifier.query:
      name: id
      in: query
      required: true
      schema:
        oneOf:
        - $ref: '#/components/schemas/data.nodegoat_id'
        - $ref: '#/components/schemas/data.object_id'
        - type: string
      description: Identifier can be a nodegoat ID, Object ID, or an identifier matching
        an Object Definition from one of the designated Object Descriptions.
    data.object_id:
      name: object_id
      in: path
      required: true
      schema:
        oneOf:
        - $ref: '#/components/schemas/data.nodegoat_id'
        - $ref: '#/components/schemas/data.object_id'
      description: Object ID that belongs to a certain Type.
    data.object_id.get:
      name: object_id
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type: array
        items:
          anyOf:
          - $ref: '#/components/schemas/data.nodegoat_id'
          - $ref: '#/components/schemas/data.object_id'
      description: Object ID(s) that belong to a certain Type.
    other.search:
      name: search
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/other.search'
      description: Text to quickly query the selected Type.
    other.filter:
      name: filter
      in: query
      required: false
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/other.filter'
      description: Filters query the Object Definitions and Sub-Objects using the
        Object Descriptions and Sub-Object Details from the data Model. Filter ID
        corresponds to one of the stored Filters, and belongs to a specific Type.
    other.scope:
      name: scope
      in: query
      required: false
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/other.scope'
      description: Scopes limit or expand what Object Descriptions and Sub-Object
        Details are selected from the data Model. Scope ID corresponds to one of the
        stored Scopes, and belongs to a specific Type.
    other.condition:
      name: condition
      in: query
      required: false
      schema:
        oneOf: []
      description: Conditions apply conditional formatting and weighting rules to
        anything in the data. Condition ID corresponds to one of the stored Conditions,
        and belongs to a specific Type.
    model.type_id:
      name: type_id
      in: path
      required: true
      schema:
        oneOf:
        - $ref: '#/components/schemas/model.type_104_id'
        - $ref: '#/components/schemas/model.type_161_id'
        - $ref: '#/components/schemas/model.type_105_id'
        - $ref: '#/components/schemas/model.type_106_id'
        - $ref: '#/components/schemas/model.type_79_id'
        - $ref: '#/components/schemas/model.type_5_id'
      description: Type ID corresponds to one of the Type data Models.
    model.type_id.get:
      name: type_id
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type: array
        items:
          anyOf:
          - $ref: '#/components/schemas/model.type_104_id'
          - $ref: '#/components/schemas/model.type_161_id'
          - $ref: '#/components/schemas/model.type_105_id'
          - $ref: '#/components/schemas/model.type_106_id'
          - $ref: '#/components/schemas/model.type_79_id'
          - $ref: '#/components/schemas/model.type_5_id'
      description: Type ID corresponds to one of the Type data Models.
    model.output:
      name: output
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/model.output'
      description: Select the ouput mode for the Type data Model.
    other.limit:
      name: limit
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/other.limit'
      description: Limit the results to a maximum amount of Objects.
    other.offset:
      name: offset
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/other.offset'
      description: Offset the results with a specific amount of Objects.
    other.analysis_id:
      name: analysis_id
      in: path
      required: true
      schema:
        type: integer
      description: Analysis ID corresponds to one of the stored Analyses, and belongs
        to a specific Type.
  requestBodies:
    data.type_objects:
      required: false
      content:
        application/x-www-form-urlencoded:
          schema:
            type: object
            properties:
              search:
                $ref: '#/components/schemas/other.search'
              limit:
                $ref: '#/components/schemas/other.limit'
              offset:
                $ref: '#/components/schemas/other.offset'
              filter:
                oneOf:
                - $ref: '#/components/schemas/other.filter'
                description: Filters query the Object Definitions and Sub-Objects
                  using the Object Descriptions and Sub-Object Details from the data
                  Model. Filter ID corresponds to one of the stored Filters, and belongs
                  to a specific Type.
              scope:
                oneOf:
                - $ref: '#/components/schemas/other.scope'
                description: Scopes limit or expand what Object Descriptions and Sub-Object
                  Details are selected from the data Model. Scope ID corresponds to
                  one of the stored Scopes, and belongs to a specific Type.
              condition:
                oneOf: []
                description: Conditions apply conditional formatting and weighting
                  rules to anything in the data. Condition ID corresponds to one of
                  the stored Conditions, and belongs to a specific Type.
          encoding:
            filter:
              contentType: application/json
            scope:
              contentType: application/json
    model.types:
      required: false
      content:
        application/x-www-form-urlencoded:
          schema:
            type: object
            properties:
              output:
                $ref: '#/components/schemas/model.output'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
security:
- []
- bearerAuth: []
...
