{
    "swagger": "2.0",
    "info": {
        "title": "prod",
        "version": "8",
        "description": "API generated with Nx/APIREST"
    },
    "host": "api.ha.co-reg.fr",
    "basePath": "/",
    "schemes": [
        "https"
    ],
    "consumes": [
        "application/json",
        "multipart/form-data",
        "application/x-www-form-urlencoded"
    ],
    "produces": [
        "application/json"
    ],
    "securityDefinitions": {
        "basicAuth": {
            "type": "basic",
            "description": "Global Security"
        }
    },
    "tags": [
        {
            "name": "Delay"
        },
        {
            "name": "Document"
        },
        {
            "name": "Event"
        },
        {
            "name": "Family"
        },
        {
            "name": "FullDocument"
        },
        {
            "name": "FullEvent"
        },
        {
            "name": "FullOperation"
        },
        {
            "name": "FullProduct"
        },
        {
            "name": "FullProvider"
        },
        {
            "name": "FullType"
        },
        {
            "name": "FullUser"
        },
        {
            "name": "Operation"
        },
        {
            "name": "Photo"
        },
        {
            "name": "Product"
        },
        {
            "name": "Provider"
        },
        {
            "name": "Site"
        },
        {
            "name": "Type"
        },
        {
            "name": "Unit"
        },
        {
            "name": "User"
        }
    ],
    "paths": {
        "/Delay": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Delay"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Delay"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Delay/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Delay"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Delay"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Document": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Document"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Document"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Document"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Document"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Document/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Document"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Document"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "unit_id",
                                "create_dt",
                                "change_dt",
                                "deleted",
                                "path",
                                "mime",
                                "type",
                                "archive_dt",
                                "archived_by"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Document"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Document"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Document"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Document/{id}/archive": {
            "patch": {
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Archive the document.",
                "tags": [
                    "Document"
                ],
                "responses": {
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/Document/{id}/restore": {
            "patch": {
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Restore the document.",
                "tags": [
                    "Document"
                ],
                "responses": {
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/Event": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Event"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Event"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Event"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Event"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Event/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Event"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Event"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "change_dt",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Event"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Event"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Event"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Family": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Family"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Family"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Family"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Family"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Family/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Family"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Family"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "create_dt",
                                "change_dt",
                                "deleted"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Family"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Family"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Family"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullDocument": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullDocument"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullDocument"
                ]
            }
        },
        "/FullDocument/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullDocument"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullDocument"
                ]
            }
        },
        "/FullEvent": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullEvent"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullEvent"
                ]
            }
        },
        "/FullEvent/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullEvent"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullEvent"
                ]
            }
        },
        "/FullOperation": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullOperation"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullOperation"
                ]
            }
        },
        "/FullOperation/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullOperation"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullOperation"
                ]
            }
        },
        "/FullProduct": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullProduct"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullProduct"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullProduct/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullProduct"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullProduct"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullProvider": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullProvider"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullProvider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullProvider/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullProvider"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullProvider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullType": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullType"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullType"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullType/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullType"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullType"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullUser": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FullUser"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullUser"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/FullUser/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/FullUser"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "FullUser"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Operation": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Operation"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Operation"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Operation"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Operation"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Operation/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Operation"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Operation"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "control_reason",
                                "observation",
                                "change_dt",
                                "deleted",
                                "create_dt",
                                "new_cmu",
                                "site_id"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Operation"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Operation"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Operation"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Photo": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Photo"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Photo"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Photo"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Photo"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Photo/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Photo"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Photo"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "create_dt",
                                "change_dt",
                                "deleted"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Photo"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Photo"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Photo"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Product": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Product"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Product"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Product"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Product/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Product"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "size",
                                "size_unit",
                                "cmu",
                                "place",
                                "description",
                                "create_dt",
                                "change_dt",
                                "deletedAt",
                                "deleted",
                                "nfc",
                                "control_frequency",
                                "expiration_date",
                                "photo_id"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Product"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Product"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Provider": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Provider"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Provider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Provider"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Provider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Provider/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Provider"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Provider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "unit_id",
                                "phone",
                                "contract",
                                "frequency",
                                "email"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Provider"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Provider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Provider"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Site": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Site"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Site"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Site"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Site"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Site/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Site"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Site"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "deleted",
                                "create_dt",
                                "change_dt"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Site"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Site"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Site"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Type": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Type"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Type"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Type"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Type"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Type/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Type"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Type"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "control_frequency",
                                "create_dt",
                                "change_dt",
                                "deleted"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Type"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Type"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Type"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Unit": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Unit"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Unit"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Unit"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Unit"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/Unit/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/Unit"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Unit"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "deleted",
                                "create_dt",
                                "change_dt"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Unit"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Unit"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "Unit"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/User": {
            "get": {
                "summary": "Read many elements",
                "parameters": [
                    {
                        "name": "If-Modified-Since",
                        "in": "header",
                        "description": "Last date of change_dt",
                        "required": false,
                        "type": "string",
                        "format": "date-time"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "The fields of the object you want to get",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The limit and offset to apply to query results. (ex: 2000, 1000 gives items from 2000 to 3000)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "The order clause to apply to the query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filters to be applied. AND condition",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "calc_rows",
                        "in": "query",
                        "description": "Will add the number of rows as a header in the response",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of items",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/User"
                            }
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "Create",
                "parameters": [
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Item to create.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/User"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the insert (same result as a get request). Otherwise it's just the item's ID. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Identifier of created item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/User/{id}": {
            "get": {
                "summary": "Read one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/User"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update one item",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "password",
                                "unit_id",
                                "create_dt",
                                "change_dt",
                                "anonymise_at",
                                "deleted"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/User"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete one element",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/me/recover": {
            "post": {
                "summary": "Recover password",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "parameters": [
                    {
                        "name": "login",
                        "in": "formData",
                        "description": "User login",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recover done",
                        "schema": {
                            "$ref": "#/definitions/Boolean"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ]
            }
        },
        "/User/recover": {
            "patch": {
                "parameters": [
                    {
                        "name": "login",
                        "in": "formData",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Password recover",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "The patch method return item.",
                        "schema": {
                            "$ref": "#/definitions/Boolean"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/me/anonymize": {
            "patch": {
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Custom method",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "The patch method return item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/User/recoverPassword": {
            "patch": {
                "parameters": [
                    {
                        "name": "token",
                        "in": "formData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "in": "formData",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Password recover",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "The patch method return item.",
                        "schema": {
                            "$ref": "#/definitions/Boolean"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/me": {
            "get": {
                "summary": "Read current logged user infos",
                "responses": {
                    "200": {
                        "description": "Requested item.",
                        "schema": {
                            "$ref": "#/definitions/User"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "put": {
                "summary": "Update current logged user infos",
                "parameters": [
                    {
                        "name": "setnull",
                        "in": "query",
                        "description": "Array of fields to be set to null.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "id",
                                "password",
                                "unit_id",
                                "create_dt",
                                "change_dt",
                                "anonymise_at",
                                "deleted"
                            ]
                        }
                    },
                    {
                        "name": "item",
                        "in": "body",
                        "description": "Properties of item to update.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/User"
                        }
                    },
                    {
                        "name": "return_item",
                        "in": "query",
                        "description": "If defined and equal to true (or 1), the response is the entire item after the update (same result as a get request). Otherwise it's just the number of affected rows. Defaults to false",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete current logged user",
                "responses": {
                    "200": {
                        "description": "Number of affected rows.",
                        "schema": {
                            "$ref": "#/definitions/Integer"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ],
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "summary": "User login",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "parameters": [
                    {
                        "name": "login",
                        "in": "formData",
                        "description": "User login",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "in": "formData",
                        "description": "User password",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JWT Token",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                },
                "tags": [
                    "User"
                ]
            }
        },
        "/User/{id}/anonymize": {
            "patch": {
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for item.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Custom method",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "The patch method return item.",
                        "schema": {
                            "$ref": "#/definitions/String"
                        }
                    },
                    "400": {
                        "description": "An managed error occurred (status code may actually vary).",
                        "headers": {
                            "Nx-Error-Code": {
                                "description": "An explicit code that represent the error that occurred. See all *Error for more information.",
                                "type": "string"
                            },
                            "Nx-Error-Domain": {
                                "description": "The domain of the error. See ErrorsDomain for more information.",
                                "type": "string"
                            },
                            "Nx-Error": {
                                "description": "A debug description of the error that occurred.",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "Boolean": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "boolean"
                }
            }
        },
        "String": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                }
            }
        },
        "Integer": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "integer"
                }
            }
        },
        "Number": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "number"
                }
            }
        },
        "ArrayOfStrings": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "ArrayOfIntegers": {
            "type": "array",
            "items": {
                "type": "integer"
            }
        },
        "ArrayOfNumbers": {
            "type": "array",
            "items": {
                "type": "number"
            }
        },
        "Delay": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "days": {
                    "type": "integer"
                }
            },
            "description": "*",
            "required": [
                "id"
            ]
        },
        "Document": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "family_id": {
                    "type": "string"
                },
                "type_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "file_name": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "path": {
                    "type": "string"
                },
                "mime": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "archive_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "archived_by": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "family_id",
                "type_id",
                "file_name"
            ]
        },
        "Event": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "user_id": {
                    "type": "string"
                },
                "object_id": {
                    "type": "string"
                },
                "object_class": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "création",
                        "modification",
                        "suppression",
                        "archivage",
                        "restauration"
                    ]
                },
                "payload": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "description": "*",
            "required": [
                "user_id",
                "object_id",
                "object_class",
                "unit_id",
                "site_id",
                "type",
                "payload",
                "deleted"
            ]
        },
        "Family": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "name": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                }
            },
            "description": "*",
            "required": [
                "name"
            ]
        },
        "FullDocument": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "family_id": {
                    "type": "string"
                },
                "family_name": {
                    "type": "string"
                },
                "type_id": {
                    "type": "string"
                },
                "type_name": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "unit_name": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "site_name": {
                    "type": "string"
                },
                "file_name": {
                    "type": "string"
                },
                "archive_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "archived_by_id": {
                    "type": "string"
                },
                "archived_by_name": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "path": {
                    "type": "string"
                },
                "mime": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "family_id",
                "family_name",
                "type_id",
                "type_name",
                "unit_name",
                "site_id",
                "site_name",
                "file_name"
            ]
        },
        "FullEvent": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "object_id": {
                    "type": "string"
                },
                "object_class": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "site_name": {
                    "type": "string"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "type": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "payload": {
                    "type": "string"
                },
                "object_name": {
                    "type": "string"
                },
                "object_reference": {
                    "type": "string"
                },
                "object_type_id": {
                    "type": "string"
                },
                "object_family_id": {
                    "type": "string"
                },
                "object_type_name": {
                    "type": "string"
                },
                "object_family_name": {
                    "type": "string"
                },
                "object_path": {
                    "type": "string"
                },
                "user_first_name": {
                    "type": "string"
                },
                "user_last_name": {
                    "type": "string"
                },
                "user_email": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "object_id",
                "object_class",
                "site_id",
                "deleted",
                "type",
                "unit_id",
                "payload"
            ]
        },
        "FullOperation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "product_id": {
                    "type": "string"
                },
                "user_name": {
                    "type": "string"
                },
                "provider_id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "first_commissioning",
                        "control",
                        "repair",
                        "time"
                    ]
                },
                "control_reason": {
                    "type": "string",
                    "enum": [
                        "unexpected",
                        "periodic",
                        "after_repair",
                        "expired"
                    ]
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                },
                "observation": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "ok",
                        "to_be_repaired",
                        "unused",
                        "to_be_dropped",
                        "ok_downgraded",
                        "need_control",
                        "dropped",
                        "ok_with_dmp"
                    ]
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "user_id": {
                    "type": "string"
                },
                "days_until_next_control": {
                    "type": "integer"
                },
                "new_cmu": {
                    "type": "integer"
                },
                "site_id": {
                    "type": "string"
                },
                "product_name": {
                    "type": "string"
                },
                "product_reference": {
                    "type": "string"
                },
                "product_type_id": {
                    "type": "string"
                },
                "product_family_id": {
                    "type": "string"
                },
                "product_type_name": {
                    "type": "string"
                },
                "product_family_name": {
                    "type": "string"
                },
                "provider_name": {
                    "type": "string"
                },
                "user_first_name": {
                    "type": "string"
                },
                "user_last_name": {
                    "type": "string"
                },
                "user_email": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "product_id",
                "user_name",
                "provider_id",
                "type",
                "date",
                "state",
                "user_id",
                "days_until_next_control"
            ]
        },
        "FullProduct": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "name": {
                    "type": "string"
                },
                "reference": {
                    "type": "string"
                },
                "family_id": {
                    "type": "string"
                },
                "type_id": {
                    "type": "string"
                },
                "size": {
                    "type": "integer"
                },
                "size_unit": {
                    "type": "string",
                    "enum": [
                        "mm",
                        "cm",
                        "m",
                        ""
                    ]
                },
                "cmu": {
                    "type": "integer"
                },
                "place": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "expiration_date": {
                    "type": "string",
                    "format": "date-time"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deletedAt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "nfc": {
                    "type": "string"
                },
                "photo_id": {
                    "type": "string"
                },
                "control_frequency": {
                    "type": "integer"
                },
                "provider_id": {
                    "type": "string"
                },
                "has_provider": {
                    "type": "integer"
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                },
                "state": {
                    "type": "string"
                },
                "next_control": {
                    "type": "string",
                    "format": "date-time"
                },
                "family": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "site": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "last_provider": {
                    "type": "string"
                },
                "user_name": {
                    "type": "string"
                },
                "photo_path": {
                    "type": "string"
                },
                "photo_mime": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "has_provider",
                "state"
            ]
        },
        "FullProvider": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "contract": {
                    "type": "string"
                },
                "frequency": {
                    "type": "integer"
                },
                "email": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "site_name": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "site_id",
                "name",
                "create_dt",
                "change_dt",
                "deleted"
            ]
        },
        "FullType": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "family_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "control_frequency": {
                    "type": "integer"
                },
                "deleted": {
                    "type": "boolean"
                },
                "family_name": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "family_id",
                "name"
            ]
        },
        "FullUser": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "access_level": {
                    "type": "integer"
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "first_name": {
                    "type": "string"
                },
                "last_name": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "anonymise_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "site_name": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "id",
                "email",
                "access_level",
                "site_id",
                "first_name",
                "last_name"
            ]
        },
        "Operation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "product_id": {
                    "type": "string"
                },
                "user_name": {
                    "type": "string"
                },
                "provider_id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "first_commissioning",
                        "control",
                        "repair",
                        "time"
                    ]
                },
                "control_reason": {
                    "type": "string",
                    "enum": [
                        "unexpected",
                        "periodic",
                        "after_repair",
                        "expired"
                    ]
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                },
                "observation": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "ok",
                        "to_be_repaired",
                        "unused",
                        "to_be_dropped",
                        "ok_downgraded",
                        "need_control",
                        "dropped",
                        "ok_with_dmp"
                    ]
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "user_id": {
                    "type": "string"
                },
                "days_until_next_control": {
                    "type": "integer"
                },
                "new_cmu": {
                    "type": "integer"
                },
                "site_id": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "product_id",
                "user_name",
                "provider_id",
                "type",
                "date",
                "state",
                "user_id",
                "days_until_next_control"
            ]
        },
        "Photo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "path": {
                    "type": "string"
                },
                "mime": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                }
            },
            "description": "*",
            "required": [
                "path",
                "mime"
            ]
        },
        "Product": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "name": {
                    "type": "string"
                },
                "reference": {
                    "type": "string"
                },
                "family_id": {
                    "type": "string"
                },
                "type_id": {
                    "type": "string"
                },
                "size": {
                    "type": "integer"
                },
                "size_unit": {
                    "type": "string",
                    "enum": [
                        "mm",
                        "cm",
                        "m",
                        ""
                    ]
                },
                "cmu": {
                    "type": "integer"
                },
                "place": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deletedAt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                },
                "nfc": {
                    "type": "string"
                },
                "control_frequency": {
                    "type": "integer"
                },
                "expiration_date": {
                    "type": "string",
                    "format": "date-time"
                },
                "photo_id": {
                    "type": "string"
                }
            },
            "description": "*",
            "required": [
                "name",
                "reference",
                "family_id",
                "type_id",
                "site_id",
                "unit_id"
            ]
        },
        "Provider": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "contract": {
                    "type": "string"
                },
                "frequency": {
                    "type": "integer"
                },
                "email": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                }
            },
            "description": "*",
            "required": [
                "site_id",
                "name",
                "create_dt",
                "change_dt",
                "deleted"
            ]
        },
        "Site": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "name": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "description": "*",
            "required": [
                "name"
            ]
        },
        "Type": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "family_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "control_frequency": {
                    "type": "integer"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                }
            },
            "description": "*",
            "required": [
                "family_id",
                "name"
            ]
        },
        "Unit": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "name": {
                    "type": "string"
                },
                "site_id": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "description": "*",
            "required": [
                "name",
                "site_id"
            ]
        },
        "User": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "x-primary-key": true
                },
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "access_level": {
                    "type": "integer"
                },
                "site_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "first_name": {
                    "type": "string"
                },
                "last_name": {
                    "type": "string"
                },
                "create_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "change_dt": {
                    "type": "string",
                    "format": "date-time"
                },
                "anonymise_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "deleted": {
                    "type": "boolean"
                }
            },
            "description": "*",
            "required": [
                "email",
                "access_level",
                "site_id",
                "first_name",
                "last_name"
            ]
        },
        "ApiCoreError": {
            "description": "An explicit code that represent the error that occurred within the ApiCore domain. 404: notFound | 405: methodNotAllowed | 406: methodUnavailable | 650: unknownObject | 655: missingMethodForPatch | 900: missingIdForUpdate | 901: missingIdForDelete | 1024: badLoginOrPassword | 1234: badResponseType | 2001: missingAlias | 2002: missingFieldsForUpdate | 2003: missingFieldsForInsert | 2004: missingWhereClause | 2005: missingParameter | 2006: writeOnly | 1100: locoUpdateFailed | 12001: notAllowed | 12002: missingLoginOrPassword | 12003: noUserSet | 42421: missingAppInstallIdentifier | 42422: missingAppIdentifier | 42423: missingAppVersionIdentifier | 42424: applicationVersionNotAllowed",
            "type": "string",
            "enum": [
                404,
                405,
                406,
                650,
                655,
                900,
                901,
                1024,
                1234,
                2001,
                2002,
                2003,
                2004,
                2005,
                2006,
                1100,
                12001,
                12002,
                12003,
                42421,
                42422,
                42423,
                42424
            ]
        },
        "ProjectError": {
            "description": "An explicit code that represent the error that occurred within the Project domain. 42: unexpected | 1024: loginError",
            "type": "string",
            "enum": [
                42,
                1024
            ]
        },
        "ErrorsDomain": {
            "description": "Represents an errors domain. Some error codes can be in several domain at the same time but a single domain can only contain an error code once.",
            "type": "string",
            "enum": [
                "Sql",
                "ApiCore",
                "Project"
            ]
        }
    }
}