{
  "x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "NovaDB Delivery API",
    "description": "A fast, read-only API to deliver Nova data",
    "version": "6.2.0.19"
  },
  "paths": {
    "/binaries/{id}": {
      "get": {
        "tags": [
          "Binary Data"
        ],
        "summary": "Get a database binary by id",
        "operationId": "Delivery_GetBinary",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The binary id",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "304": {
            "description": "The binary has not been modified"
          },
          "404": {
            "description": "The binary could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/files/{name}": {
      "get": {
        "tags": [
          "Binary Data"
        ],
        "summary": "Get an external binary (a file) by name",
        "operationId": "Delivery_GetExternalBinary",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "description": "The file name of the external binary",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "304": {
            "description": "The file has not been modified"
          },
          "400": {
            "description": "The file name is invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The file could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/files/{id}": {
      "get": {
        "tags": [
          "Binary Data"
        ],
        "summary": "Get an external binary (a file) by binary proxy object id",
        "operationId": "Delivery_GetBpoExternalBinary",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The binary proxy object ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "304": {
            "description": "The file has not been modified"
          },
          "404": {
            "description": "The binary proxy could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "The id is not unique",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/thumbnails/{id}": {
      "get": {
        "tags": [
          "Binary Data"
        ],
        "summary": "Get a thumbnail by binary proxy object id",
        "operationId": "Delivery_GetBpoThumbnail",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The binary proxy object ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "304": {
            "description": "The thumbnail has not been modified"
          },
          "404": {
            "description": "The binary proxy could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "The id is not unique",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches": {
      "get": {
        "tags": [
          "API Configuration"
        ],
        "summary": "Get the indexed branches",
        "operationId": "Delivery_GetBranches",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectList"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/config/languages": {
      "get": {
        "tags": [
          "API Configuration"
        ],
        "summary": "Get the configured languages (i.e., UI languages, languages indexed for display names, langiages from configuration options and English)",
        "operationId": "Delivery_GetLanguages",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectList"
                }
              }
            }
          },
          "304": {
            "description": "The configuration has not been modified"
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/config/types": {
      "get": {
        "tags": [
          "API Configuration"
        ],
        "summary": "Get the configured object types",
        "operationId": "Delivery_GetTypes",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectList"
                }
              }
            }
          },
          "304": {
            "description": "The configuration has not been modified"
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/updateInfo": {
      "get": {
        "tags": [
          "API Configuration"
        ],
        "summary": "Get index update information",
        "operationId": "Delivery_GetUpdateInfo",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateInfo"
                }
              }
            }
          },
          "304": {
            "description": "The index has not been modified"
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/count": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Count objects",
        "operationId": "Delivery_Count",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 5
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectCount"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/objects": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Get a list of scoped objects.",
        "operationId": "Delivery_List",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 5
          },
          {
            "name": "resolveReverse",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved reverse. IDs of reverse relations are delivered in the \"reverse\" property and objects are returned in the \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "resolveReverseDepth",
            "in": "query",
            "description": "The maximum depth to resolve reverse references",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 7
          },
          {
            "name": "resolveUnits",
            "in": "query",
            "description": "Resolve units of measure",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 8
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 9
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of attribute IDs or ApiIdentifiers used as sort criteria. 'asc' or 'desc' can be used as an additional keyword to set the sort order. The special value \"$score\" can also be used for sorting, which sorts by score. The default sort order is by object ID.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 10
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 11
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 12
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Skip a number of items. Must not be negative.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 13
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 14
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectList"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/objects/{id}": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Get a single scoped object",
        "operationId": "Delivery_Get",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The object ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 6
          },
          {
            "name": "resolveReverse",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved reverse. IDs of reverse relations are delivered in the \"reverse\" property and objects are returned in the \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "resolveReverseDepth",
            "in": "query",
            "description": "The maximum depth to resolve reverse references",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 8
          },
          {
            "name": "resolveUnits",
            "in": "query",
            "description": "Resolve units of measure",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 9
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted object",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 10
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 11
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectItem"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch or object could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "The object id is not unique",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/types/{type}/count": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Count typed objects",
        "operationId": "Delivery_CountTyped",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The object type ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 6
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectCount"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch or type could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/types/{type}/objects": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Get a list of typed and scoped objects",
        "operationId": "Delivery_ListTyped",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The object type ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 6
          },
          {
            "name": "resolveReverse",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved reverse. IDs of reverse relations are delivered in the \"reverse\" property and objects are returned in the \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "resolveReverseDepth",
            "in": "query",
            "description": "The maximum depth to resolve reverse references",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 8
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 9
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of attribute IDs or ApiIdentifiers used as sort criteria. 'asc' or 'desc' can be used as an additional keyword to set the sort order. The special value \"$score\" can also be used for sorting, which sorts by score. The default sort order is by object ID.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 10
          },
          {
            "name": "resolveUnits",
            "in": "query",
            "description": "Resolve units of measure",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 11
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 12
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 13
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Skip a number of items. Must not be negative.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 14
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 15
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectList"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch or type could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/types/{type}/objects/{id}": {
      "get": {
        "tags": [
          "Object Data"
        ],
        "summary": "Get a single typed and scoped object",
        "operationId": "Delivery_GetTyped",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The object type as an ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The object ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 3
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 7
          },
          {
            "name": "resolveReverse",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved reverse. IDs of reverse relations are delivered in the \"reverse\" property and objects are returned in the \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 8
          },
          {
            "name": "resolveReverseDepth",
            "in": "query",
            "description": "The maximum depth to resolve reverse references",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 9
          },
          {
            "name": "resolveUnits",
            "in": "query",
            "description": "Resolve units of measure",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 10
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted object",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 11
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 12
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectItem"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch, type or object could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "The id is not unique",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/occurrences": {
      "get": {
        "tags": [
          "Occurrences"
        ],
        "summary": "Get occurrences for a list of fields that may be used for facet filtering",
        "operationId": "Delivery_Occurrences",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "fields",
            "in": "query",
            "required": true,
            "description": "A comma separated list of field names",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 7
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 8
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 9
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccurrencesResult"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/types/{type}/occurrences": {
      "get": {
        "tags": [
          "Occurrences"
        ],
        "summary": "Get occurrences for a particular object type and a list of fields that may be used for facet filtering.",
        "operationId": "Delivery_OccurrencesTyped",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The object type ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "fields",
            "in": "query",
            "required": true,
            "description": "A comma separated list of field names",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "resolve",
            "in": "query",
            "description": "A comma separated list of ApiIdentifiers attributes to be resolved and returned in a \"refs\" list. Wrong ApiIdentifiers are ignored.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "resolveDepth",
            "in": "query",
            "description": "The maximum depth to resolve referred objects",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 8
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 9
          },
          {
            "name": "props",
            "in": "query",
            "description": "Mode to show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
            "schema": {
              "default": 0,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShowPropsMode"
                }
              ]
            },
            "x-position": 10
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 11
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccurrencesResult"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch or type could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/suggestions": {
      "get": {
        "tags": [
          "Suggestions"
        ],
        "summary": "Get a list of suggestions for a search pattern that may be used for type-ahead",
        "operationId": "Delivery_Suggestions",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pattern",
            "in": "query",
            "required": true,
            "description": "The search pattern",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "fields",
            "in": "query",
            "required": true,
            "description": "A comma separated list of field names",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 7
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            },
            "x-position": 8
          },
          {
            "name": "sortByValue",
            "in": "query",
            "description": "If true, suggestions are sorted by value and not by count",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 9
          },
          {
            "name": "analyze",
            "in": "query",
            "description": "If true, the search pattern is analyzed, otherwise it must occur as a prefix.",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "x-position": 10
          },
          {
            "name": "fuzzy",
            "in": "query",
            "description": "If true, the last search term is used as a fuzzy pattern, not as a prefix.",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 11
          },
          {
            "name": "fuzzyMinSimilarity",
            "in": "query",
            "description": "Minimum similarity for fuzzy search. The default value is 0.5. If fuzzy=false, this value is ignored",
            "schema": {
              "type": "number",
              "format": "float",
              "default": 0.5
            },
            "x-position": 12
          },
          {
            "name": "fuzzyPrefixLength",
            "in": "query",
            "description": "The prefix length for fuzzy search. The default value is 0. If fuzzy=false, this value is ignored",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 13
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuggestionsResult"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/branches/{branch}/types/{type}/suggestions": {
      "get": {
        "tags": [
          "Suggestions"
        ],
        "summary": "Get a list of suggestions for a search pattern and a particular object type that may be used for type-ahead",
        "operationId": "Delivery_SuggestionsTyped",
        "parameters": [
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "description": "The branch ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The object type ID or ApiIdentifier",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "pattern",
            "in": "query",
            "required": true,
            "description": "The search pattern",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "fields",
            "in": "query",
            "required": true,
            "description": "A comma separated list of field names",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "lang",
            "in": "query",
            "description": "The localization language as an ID or a culture name",
            "schema": {
              "type": "string",
              "default": "en-US",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "variants",
            "in": "query",
            "description": "A comma separated list of variant IDs or ApiIdentifiers",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "filter",
            "in": "query",
            "description": "A list of filter conditions joined with the AND operator '&&'. A condition is build from an ApiIdentifier, a compare operator (=, !=, <, >, <=, >=, :) and a value. Prefix with 'meta.' to access meta data.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Include deleted objects",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 8
          },
          {
            "name": "take",
            "in": "query",
            "description": "Take this number of items. Must be in the range 1..1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            },
            "x-position": 9
          },
          {
            "name": "sortByValue",
            "in": "query",
            "description": "If true, suggestions are sorted by value and not by count",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 10
          },
          {
            "name": "analyze",
            "in": "query",
            "description": "If true, the search pattern is analyzed, otherwise it must occur as a prefix.",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "x-position": 11
          },
          {
            "name": "fuzzy",
            "in": "query",
            "description": "If true, the last search term is used as a fuzzy pattern, not as a prefix.",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 12
          },
          {
            "name": "fuzzyMinSimilarity",
            "in": "query",
            "description": "Minimum similarity for fuzzy search. The default value is 0.5. If fuzzy=false, this value is ignored",
            "schema": {
              "type": "number",
              "format": "float",
              "default": 0.5
            },
            "x-position": 13
          },
          {
            "name": "fuzzyPrefixLength",
            "in": "query",
            "description": "The prefix length for fuzzy search. The default value is 0. If fuzzy=false, this value is ignored",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 14
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuggestionsResult"
                }
              }
            }
          },
          "304": {
            "description": "The content has not been modified"
          },
          "400": {
            "description": "Bad request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The branch or type could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ProblemDetails": {
        "type": "object",
        "additionalProperties": {
          "nullable": true
        },
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ObjectList": {
        "type": "object",
        "description": "A list of objects",
        "additionalProperties": false,
        "properties": {
          "skip": {
            "type": "integer",
            "description": "Skipped items",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "description": "The number of objects in the list",
            "format": "int32"
          },
          "more": {
            "type": "boolean",
            "description": "There are more items to request"
          },
          "objs": {
            "type": "array",
            "description": "The list of objects",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "ScopedObject"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ScopedObject"
                }
              ]
            }
          },
          "refs": {
            "type": "array",
            "description": "The list of referred objects",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "ScopedObject"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ScopedObject"
                }
              ]
            }
          }
        }
      },
      "ScopedObject": {
        "type": "object",
        "description": "An object reduced to a certain scope of language and variants",
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "type": "string",
            "description": "The display name for the UI language",
            "nullable": true
          },
          "displayIcon": {
            "type": "integer",
            "description": "The ID of the display icon",
            "format": "int32"
          },
          "meta": {
            "description": "The meta data",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ObjectMetadata"
              }
            ]
          },
          "props": {
            "type": "object",
            "description": "The dictionary of properties. Use API identifiers as keys. This dictionary contains values for the desired scope only.",
            "nullable": true,
            "additionalProperties": {}
          },
          "reverse": {
            "type": "object",
            "description": "The dictionary of reverse relations. Use API identifiers as keys.\nThe values are list of object IDs of objects that have the current object as their value for the desired attribute.",
            "nullable": true,
            "additionalProperties": {
              "type": "array",
              "xml": {
                "name": "ArrayOfint",
                "wrapped": true
              },
              "items": {
                "type": "integer",
                "format": "int32",
                "xml": {
                  "name": "int"
                }
              }
            }
          },
          "sortReverse": {
            "type": "object",
            "description": "This dictionary contains an entry for each API identifier in Props that belongs to an attribute of type ObjRef that supports reverse sorting.\nValues are either scalar integers or arrays of integers (if the attribute supports multiple values).",
            "nullable": true,
            "additionalProperties": {}
          }
        }
      },
      "ObjectMetadata": {
        "type": "object",
        "description": "The meta data of an object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The object ID",
            "format": "int32"
          },
          "guid": {
            "type": "string",
            "description": "The object Guid",
            "format": "guid"
          },
          "apiIdentifier": {
            "type": "string",
            "description": "The API identifier, if any. May be null.",
            "nullable": true
          },
          "typeRef": {
            "type": "integer",
            "description": "The object ID of the object type of this object.",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "description": "The API identifier of the object type of this object, if any. May be null.",
            "nullable": true
          },
          "lastTransaction": {
            "type": "integer",
            "description": "The ID of the last transaction an object has been changed on the current branch",
            "format": "int64"
          },
          "lastModified": {
            "type": "string",
            "description": "The timestamp of the last transaction an object has been changed on the current branch",
            "format": "date-time"
          },
          "deleted": {
            "type": "boolean",
            "description": "True, if the object has been deleted (the value of the attribute \"ObjectIsDeleted\")"
          },
          "etag": {
            "type": "string",
            "description": "An entity tag that changes, if the object may have changed.",
            "nullable": true
          }
        }
      },
      "UpdateInfo": {
        "type": "object",
        "description": "Result of an updateInfo query",
        "additionalProperties": false,
        "properties": {
          "changeTrackingVersion": {
            "type": "integer",
            "description": "The current change tracking version of the index. This reflects the last database transaction the index knows about.",
            "format": "int64"
          },
          "segmentsVersion": {
            "type": "integer",
            "description": "The index segments version. This is increased on each index commit.",
            "format": "int64"
          },
          "segmentsLastModified": {
            "type": "string",
            "description": "The last modified timestamp (derived from segments.gen)",
            "format": "date-time"
          },
          "apiVersion": {
            "type": "integer",
            "description": "The api version number. This is increased each time when the API may have been changed, e.g. when an ApiIdentifier has been modified.",
            "format": "int64"
          }
        }
      },
      "ObjectCount": {
        "type": "object",
        "description": "Result of a count query",
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of objects",
            "format": "int32"
          }
        }
      },
      "ShowPropsMode": {
        "type": "integer",
        "description": "Show properties (0 = configured by ObjectTypeApiAttributes, 1 = all with API identifiers, 2 = none)",
        "x-enumNames": [
          "ApiAttributes",
          "WithApiIdentifiers",
          "None"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "ObjectItem": {
        "type": "object",
        "description": "A single object",
        "additionalProperties": false,
        "properties": {
          "obj": {
            "description": "The single object",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScopedObject"
              }
            ]
          },
          "refs": {
            "type": "array",
            "description": "The list of referred objects",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "ScopedObject"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ScopedObject"
                }
              ]
            }
          }
        }
      },
      "OccurrencesResult": {
        "type": "object",
        "description": "Result of an occurrences query",
        "additionalProperties": false,
        "properties": {
          "occurrences": {
            "type": "array",
            "description": "A list of Occurrences",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "Occurrences"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Occurrences"
                }
              ]
            }
          },
          "refs": {
            "type": "array",
            "description": "The list of referred objects",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "ScopedObject"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ScopedObject"
                }
              ]
            }
          }
        }
      },
      "Occurrences": {
        "type": "object",
        "description": "Occurrences of distinct values for an attribute",
        "additionalProperties": false,
        "properties": {
          "attribute": {
            "type": "string",
            "description": "The attribute's ApiIdentifier"
          },
          "variant": {
            "type": "string",
            "description": "The variants's ApiIdentifier if the attribute is variant-dependent, null otherwise",
            "nullable": true
          },
          "language": {
            "type": "string",
            "description": "The ISO language code, if the attribute is language dependent, null otherwise",
            "nullable": true
          },
          "nullOccurrences": {
            "type": "integer",
            "description": "The number of objects that do not have a value",
            "format": "int32"
          },
          "notNullOccurrences": {
            "type": "integer",
            "description": "The number of objects that have a value",
            "format": "int32"
          },
          "valueType": {
            "type": "string",
            "description": "The type of the values (\"string\" | \"number\" | \"boolean\")"
          },
          "valueOccurrences": {
            "type": "array",
            "description": "List of values and their occurrence counters. The list is sorted by value by default.",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "Occurrence"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Occurrence"
                }
              ]
            }
          },
          "more": {
            "type": "boolean",
            "description": "True, if there are more value occurrences. Currently limited by the 'take' parameter"
          }
        }
      },
      "Occurrence": {
        "type": "object",
        "description": "Occurrence of a value",
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "The value. This is either a string, number or boolean, depending on the attributes data type."
          },
          "count": {
            "type": "integer",
            "description": "Number of objects with this value",
            "format": "int32"
          }
        }
      },
      "SuggestionsResult": {
        "type": "object",
        "description": "Result of a suggestions query",
        "additionalProperties": false,
        "properties": {
          "suggestions": {
            "type": "array",
            "description": "The list of suggestions",
            "nullable": true,
            "xml": {
              "wrapped": true
            },
            "items": {
              "xml": {
                "name": "Suggestion"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Suggestion"
                }
              ]
            }
          }
        }
      },
      "Suggestion": {
        "type": "object",
        "description": "A suggestion that may be used for type-ahead support",
        "additionalProperties": false,
        "properties": {
          "value": {
            "type": "string",
            "description": "The suggested search pattern. This is a lowercase string, because text content is indexed lowercase."
          },
          "count": {
            "type": "integer",
            "description": "The number of documents that match the suggested search pattern",
            "format": "int32"
          },
          "length": {
            "type": "integer",
            "description": "The length of the suggested suffix of Value",
            "format": "int32"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Binary Data"
    },
    {
      "name": "API Configuration"
    },
    {
      "name": "Object Data"
    },
    {
      "name": "Occurrences"
    },
    {
      "name": "Suggestions"
    }
  ]
}