{
  "swagger": "2.0",
  "info": {
    "title": "Nortaxa",
    "description": "Nortaxa (Norwegian taxonomic register) aims to compile a complete list of all existing species in Norway, and also contains names of species not found in Norway but present in Norwegian museum collections and herbaria.",
    "contact": {
      "name": "Artsdatabanken",
      "email": "taksonomi@artsdatabanken.no"
    },
    "version": "1.0"
  },
  "paths": {
    "/api/v1/DataTransfer/DataToExcel": {
      "post": {
        "tags": [
          "DataTransfer"
        ],
        "summary": "Convert csv to excel",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "application/vnd.ms-excel",
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameSearchRowDto"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "binary",
              "type": "string"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/DataTransfer/Export": {
      "get": {
        "tags": [
          "DataTransfer"
        ],
        "summary": "Export taxonomy to csv/excel formats",
        "produces": [
          "text/csv",
          "application/vnd.ms-excel",
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fileName",
            "description": "Optional filenamet",
            "type": "string"
          },
          {
            "in": "query",
            "name": "scientificNameId",
            "description": "Root scientificNameId from where to start export",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "includeSynonyms",
            "description": "Whether to include synonym scientific names",
            "required": true,
            "type": "boolean",
            "default": false
          },
          {
            "in": "query",
            "name": "includeVernacularNames",
            "description": "Whether to include vernacular names",
            "required": true,
            "type": "boolean",
            "default": false
          },
          {
            "in": "query",
            "name": "exportType",
            "description": "One of Csv or Excel",
            "required": true,
            "default": "Csv"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "binary",
              "type": "string"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/DataTransfer/Import": {
      "post": {
        "tags": [
          "DataTransfer"
        ],
        "summary": "Import data",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "importType",
            "description": ""
          },
          {
            "in": "formData",
            "name": "formFile",
            "description": "",
            "type": "file"
          }
        ],
        "responses": {
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/Lists/RankList": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Returns list of Ranks",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EnumDto"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        }
      }
    },
    "/api/v1/Lists/TaxonomicStatusList": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Returns list of Taxonomic statuses",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EnumDto"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        }
      }
    },
    "/api/v1/Lists/VernacularNameStatusList": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Returns list of statuses for vernacular names",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EnumDto"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        }
      }
    },
    "/api/v1/Lists/NomenclaturalStatusList": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Returns list of Nomenclatural statuses",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EnumDto"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        }
      }
    },
    "/api/v1/Lists/NameAttributtesList": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Returns list of scientific name attributtes",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EnumWithDisplayNameDto"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        }
      }
    },
    "/api/v1/Statistics/TaxonCount": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get count of taxa",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/Statistics/NamesCountByLanguage": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get count of names (total, accepted, synonyms) by language",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "languageId",
            "description": "Default language scientific",
            "default": "Scientific"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NamesCountDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/Statistics/NamesCount": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get count of names (total, accepted, synonyms)",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NamesCountDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/Statistics/ByScientificNameId/{id}": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "date",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaxonomicStatisticsDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/Children/ByTaxonNameId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon children data by taxonNameId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Parent Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ChildTaxonNamesDto"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/Children/ByScientificNameId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon children by scientificNameId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Parent Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ChildTaxonNamesDto"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ByScientificNameId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon data by scientificNameId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Scientificname Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NamesInfoDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ByTaxonId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon data by taxonId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Taxon Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NamesInfoDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/Changes/ByScientificNameId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon name changes by scientificNameId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "scientificNameId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaxonNameChangesResponseDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ChangeLog2": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon name changes last 7 days",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaxonNameChangesResponseDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ChangeLog": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon name changes from date",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "Date format yyyy-mm-dd",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "limit",
            "description": "Limit result (range 1- 500)",
            "type": "integer",
            "format": "int32",
            "default": 50,
            "maximum": 500,
            "minimum": 1
          },
          {
            "in": "query",
            "name": "nextCursor",
            "description": "/// The \"Key\" of the last element from the previous page. Leave blank for the first page.",
            "type": "string"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "Leave blank for todays date. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PaginatedTaxonNameChangesDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/Changes/ByTaxonId/{id}": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Get taxon name changes by taxon Id",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "taxonId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "date",
            "description": "Default date is now. Date format yyyy-mm-dd",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaxonNameChangesDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/RebuildSearchIndex": {
      "post": {
        "tags": [
          "TaxonName"
        ],
        "summary": "Rebuild SearchIndex for TaxonNames. For admin only.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonName/Search": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "Search",
            "required": true,
            "type": "string",
            "minLength": 1
          },
          {
            "in": "query",
            "name": "MaxResults",
            "type": "integer",
            "format": "int32",
            "default": 20,
            "maximum": 200,
            "minimum": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaxonNameSearchDto"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/FuzzyScientificNameSearch": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "Search",
            "required": true,
            "type": "string",
            "minLength": 1
          },
          {
            "in": "query",
            "name": "MaxResults",
            "type": "integer",
            "format": "int32",
            "default": 20,
            "maximum": 200,
            "minimum": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaxonNameIdDto"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ScientificNameInfoSearch": {
      "get": {
        "tags": [
          "TaxonName"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "Search",
            "required": true,
            "type": "string",
            "minLength": 1
          },
          {
            "in": "query",
            "name": "MaxResults",
            "type": "integer",
            "format": "int32",
            "default": 20,
            "maximum": 200,
            "minimum": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NamesInfoDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonName/ScientificNameInfoMultiSearch": {
      "post": {
        "tags": [
          "TaxonName"
        ],
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/TaxonMultiNameSearch"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NameSearchDto"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/TaxonomicOperations/AddTaxon": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Method to add a new Taxon",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Parameters needed for adding a new Taxon",
            "schema": {
              "$ref": "#/definitions/AddTaxonRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AddTaxonResponse"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/UpdateVernacularNames": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Update vernacularNames for taxon",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request model for updating vernacularNames on taxon",
            "schema": {
              "$ref": "#/definitions/EditVernacularNamesRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/EditScientificName": {
      "put": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Edit a scientificName",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request model for updating a scientificName",
            "schema": {
              "$ref": "#/definitions/EditScientificNameRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/Synonymize": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Merge names",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request model for merging names",
            "schema": {
              "$ref": "#/definitions/SynonymizeRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/Split": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Split names",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request model for spliting names",
            "schema": {
              "$ref": "#/definitions/SplitRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/TransferParent": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Transfering parent on scientific name",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/TransferParentRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/Swap": {
      "post": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Swap a taxon with another",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request model for swap",
            "schema": {
              "$ref": "#/definitions/SwapRequestDto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/api/v1/TaxonomicOperations/Delete": {
      "delete": {
        "tags": [
          "TaxonomicOperations"
        ],
        "summary": "Deletes a scientific name by id",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeleteRequestDto"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    }
  },
  "definitions": {
    "AddTaxonRequestDto": {
      "description": "Parameters needed for adding a new Taxon",
      "type": "object",
      "properties": {
        "scientificName": {
          "description": "ScientificName",
          "type": "string"
        },
        "author": {
          "description": "ScientificNameAuthorship",
          "type": "string"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "rankId": {
          "$ref": "#/definitions/RankId"
        },
        "parentScientificNameId": {
          "format": "int32",
          "description": "Parent ScientificNameId",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "description": "Optional TaxonId in case of adding a synonym name",
          "type": "integer"
        },
        "existsInNorway": {
          "type": "boolean"
        },
        "comment": {
          "description": "Remarks/Comments",
          "type": "string"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ReferenceRequestDto"
          }
        },
        "nomenclaturalStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NomenclaturalStatusId"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameAttributeId"
          }
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameEdit"
          }
        }
      },
      "additionalProperties": false
    },
    "AddTaxonResponse": {
      "description": "Response model after successfully adding a new taxon",
      "type": "object",
      "properties": {
        "taxonId": {
          "format": "int32",
          "description": "Taxon Id",
          "type": "integer"
        },
        "scientificNameId": {
          "format": "int32",
          "description": "ScientificNameId",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ChangeTypeId": {
      "enum": [
        "Inserted",
        "Merge",
        "Split",
        "Swap",
        "Delete",
        "CategoryChange",
        "ValidNameChange",
        "Meningsendring",
        "ParentChange",
        "TaxonCreated",
        "CorrectedTaxonOrStatus",
        "RankChange",
        "NameChanged",
        "AuthorChanged",
        "ExistsInNorwayChanged"
      ],
      "type": "string"
    },
    "ChildTaxonNamesDto": {
      "type": "object",
      "properties": {
        "parentTaxonNameId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonNameId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "presentationName": {
          "type": "string"
        },
        "presentationNameFormatted": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "language": {
          "$ref": "#/definitions/NameLanguageId"
        },
        "rank": {
          "$ref": "#/definitions/RankId"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "scientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ScientificName"
          }
        },
        "preferredVernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularName"
          }
        },
        "isLeaf": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "DeleteRequestDto": {
      "description": "Parameters needed for deleting",
      "required": [
        "scientificNameId"
      ],
      "type": "object",
      "properties": {
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "remark": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "EditScientificNameRequestDto": {
      "description": "Parameters needed for adding a new Taxon",
      "type": "object",
      "properties": {
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "scientificName": {
          "description": "ScientificName",
          "type": "string"
        },
        "author": {
          "description": "ScientificNameAuthorship",
          "type": "string"
        },
        "comment": {
          "description": "Remarks/Comments",
          "type": "string"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ReferenceRequestDto"
          }
        },
        "nomenclaturalStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NomenclaturalStatusId"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameAttributeId"
          }
        },
        "existsInNorway": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "EditVernacularNamesRequestDto": {
      "type": "object",
      "properties": {
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameEdit"
          }
        }
      },
      "additionalProperties": false
    },
    "EnumDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "EnumWithDisplayNameDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "readOnly": true
        },
        "displayName": {
          "type": "string",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "ExportType": {
      "enum": [
        "Csv",
        "Excel"
      ],
      "type": "string"
    },
    "HigherClassification": {
      "type": "object",
      "properties": {
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNamePresentation": {
          "type": "string"
        },
        "scientificNamePresentationHtml": {
          "type": "string",
          "readOnly": true
        },
        "taxonRank": {
          "$ref": "#/definitions/RankId"
        },
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ImportType": {
      "enum": [
        "ScientificNames",
        "VernacularNames"
      ],
      "type": "string"
    },
    "NameAttribute": {
      "type": "object",
      "properties": {
        "attribute": {
          "$ref": "#/definitions/NameAttributeId"
        },
        "attributeDisplay": {
          "type": "string",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "NameAttributeId": {
      "enum": [
        "NomenInvalidum",
        "NomenNudum",
        "NomenIllegitimum",
        "NomenSuperfluum",
        "JuniorHomonym",
        "NomenConservandum",
        "NomenSanctionatum",
        "NomenRejiciendum",
        "OrthographicVariant",
        "NomenConfusum",
        "NomenAmbiguous",
        "NomenDubium"
      ],
      "type": "string"
    },
    "NameLanguageId": {
      "enum": [
        "Scientific",
        "Bokmaal",
        "Nynorsk",
        "NordSamisk"
      ],
      "type": "string"
    },
    "NameSearchDto": {
      "type": "object",
      "properties": {
        "searchInput": {
          "type": "string"
        },
        "matchedList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NamesInfoDto"
          }
        },
        "nameSuggestions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "NameSearchRowDto": {
      "type": "object",
      "properties": {
        "input": {
          "type": "string"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "taxonRank": {
          "type": "string"
        },
        "acceptedNameUsageId": {
          "format": "int32",
          "type": "integer"
        },
        "acceptedNameUsage": {
          "type": "string"
        },
        "acceptedNameAuthorship": {
          "type": "string"
        },
        "kingdom": {
          "type": "string"
        },
        "phylum": {
          "type": "string"
        },
        "class": {
          "type": "string"
        },
        "order": {
          "type": "string"
        },
        "family": {
          "type": "string"
        },
        "genus": {
          "type": "string"
        },
        "subgenus": {
          "type": "string"
        },
        "specificEpithet": {
          "type": "string"
        },
        "infraspecificEpithet": {
          "type": "string"
        },
        "higherClassification": {
          "type": "string"
        },
        "vernacularNameBokmaal": {
          "type": "string"
        },
        "vernacularNameNynorsk": {
          "type": "string"
        },
        "existsInNorway": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "NamesCountDto": {
      "type": "object",
      "properties": {
        "totalCount": {
          "format": "int32",
          "type": "integer"
        },
        "acceptedCount": {
          "format": "int32",
          "type": "integer"
        },
        "synonymsCount": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "NamesInfoDto": {
      "type": "object",
      "properties": {
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "existsInNorway": {
          "type": "boolean"
        },
        "scientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ScientificNameDto"
          }
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameDto"
          }
        },
        "higherClassification": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HigherClassification"
          }
        }
      },
      "additionalProperties": false
    },
    "NewTaxonRequestDto": {
      "type": "object",
      "properties": {
        "scientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ScientificNameRequestDto"
          }
        },
        "newScientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddTaxonRequestDto"
          }
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameEdit"
          }
        },
        "existsInNorway": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "NomenclaturalStatus": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/NomenclaturalStatusId"
        }
      },
      "additionalProperties": false
    },
    "NomenclaturalStatusId": {
      "enum": [
        "NotValidlyPublished",
        "Misapplied",
        "Illegitimate",
        "Conserved",
        "Sanctioned",
        "Rejected",
        "Orthographic",
        "Dubious",
        "NotInUse"
      ],
      "type": "string"
    },
    "PaginatedTaxonNameChangesDto": {
      "type": "object",
      "properties": {
        "nextCursor": {
          "type": "string"
        },
        "totalCount": {
          "format": "int32",
          "type": "integer"
        },
        "result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameChangesResponseDto"
          }
        }
      },
      "additionalProperties": false
    },
    "ParentNameDto": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "presentationName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ParentScientificNameChangeLogDto": {
      "type": "object",
      "properties": {
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNamePresentation": {
          "type": "string"
        },
        "scientificNamePresentationHtml": {
          "type": "string",
          "readOnly": true
        },
        "taxonRank": {
          "$ref": "#/definitions/RankId"
        },
        "nameId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ProblemDetails": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "detail": {
          "type": "string"
        },
        "instance": {
          "type": "string"
        }
      },
      "additionalProperties": { }
    },
    "RankId": {
      "enum": [
        "Kingdom",
        "Subkingdom",
        "Phylum",
        "Subphylum",
        "Superclass",
        "Class",
        "Subclass",
        "Infraclass",
        "Superorder",
        "Order",
        "Suborder",
        "Infraorder",
        "Superfamily",
        "Family",
        "Subfamily",
        "Tribe",
        "Genus",
        "Subgenus",
        "Section",
        "Species",
        "Subspecies",
        "Variety",
        "Form",
        "Cultivar",
        "Sphere"
      ],
      "type": "string"
    },
    "RankStatistics": {
      "type": "object",
      "properties": {
        "rankName": {
          "type": "string"
        },
        "rankId": {
          "$ref": "#/definitions/RankId"
        },
        "validCount": {
          "format": "int32",
          "type": "integer"
        },
        "synonymCount": {
          "format": "int32",
          "type": "integer"
        },
        "bokmaalCount": {
          "format": "int32",
          "type": "integer"
        },
        "nynorskCount": {
          "format": "int32",
          "type": "integer"
        },
        "nordsamiskCount": {
          "format": "int32",
          "type": "integer"
        },
        "existsInNorwayCount": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ReferenceDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "referenceTypeId": {
          "$ref": "#/definitions/ReferenceTypeId"
        },
        "reference": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ReferenceRequestDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "referenceTypeId": {
          "$ref": "#/definitions/ReferenceTypeId"
        },
        "reference": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ReferenceTypeId": {
      "enum": [
        "Citation",
        "Url",
        "Urn",
        "Doi",
        "TaxonIdOrg"
      ],
      "type": "string"
    },
    "ScientificName": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "nameFormatted": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "rank": {
          "$ref": "#/definitions/RankId"
        }
      },
      "additionalProperties": false
    },
    "ScientificNameChangeLogDto": {
      "type": "object",
      "properties": {
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNamePresentation": {
          "type": "string"
        },
        "scientificNamePresentationHtml": {
          "type": "string",
          "readOnly": true
        },
        "taxonRank": {
          "$ref": "#/definitions/RankId"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        }
      },
      "additionalProperties": false
    },
    "ScientificNameDto": {
      "type": "object",
      "properties": {
        "scientificName": {
          "type": "string"
        },
        "scientificNameAuthorship": {
          "type": "string"
        },
        "scientificNamePresentation": {
          "type": "string"
        },
        "scientificNamePresentationHtml": {
          "type": "string",
          "readOnly": true
        },
        "taxonRank": {
          "$ref": "#/definitions/RankId"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "nomenclaturalStatuses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NomenclaturalStatus"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameAttribute"
          }
        },
        "comment": {
          "type": "string"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ReferenceDto"
          }
        }
      },
      "additionalProperties": false
    },
    "ScientificNameRequestDto": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "description": "ScientificNameId",
          "type": "integer"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "nomenclaturalStatus": {
          "description": "Nomenclatural status of name",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NomenclaturalStatusId"
          }
        },
        "attributes": {
          "description": "Name attributes",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameAttributeId"
          }
        }
      },
      "additionalProperties": false
    },
    "SplitRequestDto": {
      "description": "Parameters needed for spliting a taxon",
      "required": [
        "newTaxons",
        "oldTaxonId"
      ],
      "type": "object",
      "properties": {
        "oldTaxonId": {
          "format": "int32",
          "type": "integer"
        },
        "newTaxons": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NewTaxonRequestDto"
          }
        },
        "remark": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SwapRequestDto": {
      "description": "Parameters needed for swap a taxon",
      "required": [
        "oldTaxonId"
      ],
      "type": "object",
      "properties": {
        "oldTaxonId": {
          "format": "int32",
          "type": "integer"
        },
        "scientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ScientificNameRequestDto"
          }
        },
        "newScientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddTaxonRequestDto"
          }
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameEdit"
          }
        },
        "keepTaxonId": {
          "type": "boolean"
        },
        "remark": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SynonymizeRequestDto": {
      "description": "Parameters needed for adding a new Taxon",
      "required": [
        "scientificNames"
      ],
      "type": "object",
      "properties": {
        "scientificNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ScientificNameRequestDto"
          }
        },
        "vernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VernacularNameEdit"
          }
        },
        "existsInNorway": {
          "type": "boolean"
        },
        "remark": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TaxonMultiNameSearch": {
      "type": "object",
      "properties": {
        "maxTaxonSearchResult": {
          "format": "int32",
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "maxFuzzySearchResult": {
          "format": "int32",
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "searchInputs": {
          "maxItems": 30,
          "minItems": 0,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxonNameChangesDto": {
      "type": "object",
      "properties": {
        "changeDate": {
          "type": "string"
        },
        "changeType": {
          "$ref": "#/definitions/ChangeTypeId"
        },
        "changeLogId": {
          "format": "int32",
          "type": "integer"
        },
        "changeRemarks": {
          "type": "string"
        },
        "changeByUser": {
          "type": "string"
        },
        "dataBefore": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameDto"
          }
        },
        "dataAfter": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameDto"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxonNameChangesResponseDto": {
      "type": "object",
      "properties": {
        "changeDate": {
          "format": "date-time",
          "type": "string"
        },
        "changeType": {
          "$ref": "#/definitions/ChangeTypeId"
        },
        "changeLogId": {
          "format": "int32",
          "type": "integer"
        },
        "changeRemarks": {
          "type": "string"
        },
        "changeByUser": {
          "type": "string"
        },
        "dataBefore": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameResponseDto"
          }
        },
        "dataAfter": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameResponseDto"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxonNameDto": {
      "type": "object",
      "properties": {
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "presentationName": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "rank": {
          "$ref": "#/definitions/RankId"
        },
        "language": {
          "$ref": "#/definitions/NameLanguageId"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "vernacularNameStatus": {
          "$ref": "#/definitions/VernacularNameStatusId"
        },
        "parent": {
          "$ref": "#/definitions/ParentNameDto"
        }
      },
      "additionalProperties": false
    },
    "TaxonNameIdDto": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TaxonNameResponseDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "validFrom": {
          "format": "date-time",
          "type": "string"
        },
        "scientificName": {
          "$ref": "#/definitions/ScientificNameChangeLogDto"
        },
        "vernacularName": {
          "$ref": "#/definitions/VernacularNameChangeLogDto"
        },
        "parentTaxonNameId": {
          "format": "int32",
          "type": "integer"
        },
        "parentScientificName": {
          "$ref": "#/definitions/ParentScientificNameChangeLogDto"
        }
      },
      "additionalProperties": false
    },
    "TaxonNameScientific": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "nameFormatted": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "rank": {
          "$ref": "#/definitions/RankId"
        },
        "taxonomicStatus": {
          "$ref": "#/definitions/TaxonomicStatusId"
        },
        "isSearchMatch": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TaxonNameSearchDto": {
      "type": "object",
      "properties": {
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "acceptedScientificName": {
          "$ref": "#/definitions/TaxonNameScientific"
        },
        "preferredVernacularNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameVernacular"
          }
        },
        "scientificNameSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameScientific"
          }
        },
        "vernacularNameSynonyms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxonNameVernacular"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxonNameVernacular": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "nameLanguageIso": {
          "type": "string"
        },
        "isSearchMatch": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TaxonomicStatisticsDto": {
      "type": "object",
      "properties": {
        "rankStatistics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RankStatistics"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxonomicStatusId": {
      "enum": [
        "Accepted",
        "Synonym",
        "Unresolved",
        "NotInUse"
      ],
      "type": "string"
    },
    "TransferParentRequestDto": {
      "description": "Parameters needed for trasfer a parent on scientific name",
      "required": [
        "newParentScientificNameId",
        "oldParentScientificNameId",
        "scientificNameId"
      ],
      "type": "object",
      "properties": {
        "scientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "oldParentScientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "newParentScientificNameId": {
          "format": "int32",
          "type": "integer"
        },
        "remark": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VernacularName": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "nameLanguageIso": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VernacularNameChangeLogDto": {
      "type": "object",
      "properties": {
        "vernacularName": {
          "type": "string"
        },
        "vernacularNameStatus": {
          "$ref": "#/definitions/VernacularNameStatusId"
        },
        "nameLanguage": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VernacularNameDto": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "taxonId": {
          "format": "int32",
          "type": "integer"
        },
        "vernacularName": {
          "type": "string"
        },
        "vernacularNameStatus": {
          "$ref": "#/definitions/VernacularNameStatusId"
        },
        "languageCultureCode": {
          "type": "string"
        },
        "languageIsoCode": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        },
        "reference": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VernacularNameEdit": {
      "type": "object",
      "properties": {
        "nameId": {
          "format": "int32",
          "type": "integer"
        },
        "vernacularName": {
          "type": "string"
        },
        "vernacularNameStatus": {
          "$ref": "#/definitions/VernacularNameStatusId"
        },
        "languageIsoCode": {
          "type": "string"
        },
        "operation": {
          "$ref": "#/definitions/VernacularNameOperationType"
        },
        "reference": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VernacularNameOperationType": {
      "enum": [
        "None",
        "Added",
        "Deleted",
        "Modified"
      ],
      "type": "string"
    },
    "VernacularNameStatusId": {
      "enum": [
        "Recommended",
        "NotRecommended"
      ],
      "type": "string"
    }
  },
  "tags": [
    {
      "name": "DataTransfer",
      "description": "Methods for export and import of taxonomy"
    }
  ]
}