{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "API v1.0.0",
    "description": "[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/80638214aa04722c9203)\r\n<span style='margin-left: 0.5em;'>or</span>\r\n<a href='https://documenter.getpostman.com/view/3559821/TVeqcn2L' class='openapi-button' _ngcontent-c6>View Postman docs</a>\r\n\r\n# Quickstart\r\n\r\nVisit [github](https://github.com/EmitKnowledge/Envoice) to view the quickstart tutorial.\r\n\r\n<div class='postman-tutorial'>\r\n\r\n# Tutorial for running the API in postman\r\n\r\nClick on \"\"Run in Postman\"\" button\r\n<br /><br />\r\n![postman - tutorial - 1](/Assets/images/api/postman-tutorial/postman-tutorial-1.png)\r\n\r\n --- \r\n\r\nA new page will open.\r\nClick the \"\"Postman for windows\"\" to run postman as a desktop app.\r\nMake sure you have already [installed](https://www.getpostman.com/docs/postman/launching_postman/installation_and_updates) Postman.\r\n<br /><br />\r\n![postman - tutorial - 2](/Assets/images/api/postman-tutorial/postman-tutorial-2.png)\r\n\r\n --- \r\n\r\nIn chrome an alert might show up to set a default app for opening postman links. Click on \"\"Open Postman\"\".\r\n<br /><br />\r\n![postman - tutorial - 3](/Assets/images/api/postman-tutorial/postman-tutorial-3.png)\r\n\r\n --- \r\n\r\nThe OpenAPI specification will be imported in Postman as a new collection named \"\"Envoice api\"\"\r\n<br /><br />\r\n![postman - tutorial - 4](/Assets/images/api/postman-tutorial/postman-tutorial-4.png)\r\n\r\n --- \r\n\r\nWhen testing be sure to check and modify the environment variables to suit your api key and secret. The domain is set to envoice's endpoint so you don't really need to change that.  \r\n<sub>\\*Eye button in top right corner </sub>\r\n<br /><br /> \r\n![postman - tutorial - 5](/Assets/images/api/postman-tutorial/postman-tutorial-5.png)\r\n<br /><br /> \r\n![postman - tutorial - 6](/Assets/images/api/postman-tutorial/postman-tutorial-6.png)\r\n\r\n --- \r\n\r\nYou don't need to change the values of the header parameters, because they will be replaced automatically when you send a request with real values from the environment configured in the previous step.\r\n<br /><br />\r\n![postman - tutorial - 7](/Assets/images/api/postman-tutorial/postman-tutorial-7.png)\r\n\r\n --- \r\n\r\nModify the example data to suit your needs and send a request.\r\n<br /><br />\r\n![postman - tutorial - 8](/Assets/images/api/postman-tutorial/postman-tutorial-8.png)\r\n</div>\r\n\r\n# Webhooks\r\n\r\nWebhooks allow you to build or set up Envoice Apps which subscribe to invoice activities. \r\nWhen one of those events is triggered, we'll send a HTTP POST payload to the webhook's configured URL. \r\nWebhooks can be used to update an external invoice data storage.\r\n\r\nIn order to use webhooks visit [this link](/account/settings#api-tab) and add upto 10 webhook urls that will return status `200` in order to signal that the webhook is working.\r\nAll nonworking webhooks will be ignored after a certain period of time and several retry attempts.\r\nIf after several attempts the webhook starts to work, we will send you all activities, both past and present, in chronological order.\r\n\r\nThe payload of the webhook is in format:\r\n```\r\n{\r\n    Signature: \"\"sha256 string\"\",\r\n    Timestamp: \"\"YYYY-MM-DDTHH:mm:ss.FFFFFFFZ\"\",\r\n    Activity: {\r\n        Message: \"string\",\r\n        Link: \"share url\",\r\n        Type: int,        \r\n        InvoiceNumber: \"string\",\r\n        InvoiceId: int,        \r\n        OrderNumber: \"string\",\r\n        OrderId: int,\r\n        Id: int,\r\n        CreatedOn: \"YYYY-MM-DDTHH:mm:ss.FFFFFFFZ\"\r\n    }\r\n}\r\n```            "
  },
  "host": "www.envoice.in",
  "schemes": [
    "https"
  ],
  "paths": {
    "/api/client/all": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Return all clients for the account",
        "operationId": "ClientApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/client/new": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Create a client",
        "operationId": "ClientApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "client",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/client/update": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Update an existing client",
        "operationId": "ClientApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "client",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/client/candelete": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Check if the provided client can be deleted",
        "operationId": "ClientApi_CanDelete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "/api/client/delete": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Delete an existing client",
        "operationId": "ClientApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/client/details": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Return client details. Activities and invoices included.",
        "operationId": "ClientApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/all": {
      "get": {
        "tags": [
          "Estimation"
        ],
        "summary": "Return all estimation for the account",
        "operationId": "EstimationApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[EstimationDetailsApiModel]"
            }
          }
        }
      }
    },
    "/api/estimation/new": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Create an estimation",
        "operationId": "EstimationApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "estimation",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EstimationCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EstimationFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/update": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Update an existing estimation",
        "operationId": "EstimationApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "estimation",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EstimationUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EstimationFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/delete": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Delete an existing estimation",
        "operationId": "EstimationApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EstimationDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/estimation/changestatus": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Change estimation status",
        "operationId": "EstimationApi_ChangeStatus",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "statusModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EstimationChangeStatusApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "/api/estimation/status": {
      "get": {
        "tags": [
          "Estimation"
        ],
        "summary": "Retrieve the status of the estimation",
        "operationId": "EstimationApi_Status",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "enum": [
                "Draft",
                "Accepted",
                "Rejected"
              ],
              "type": "string"
            }
          }
        }
      }
    },
    "/api/estimation/details": {
      "get": {
        "tags": [
          "Estimation"
        ],
        "summary": "Return estimation data",
        "operationId": "EstimationApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EstimationFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/uri": {
      "get": {
        "tags": [
          "Estimation"
        ],
        "summary": "Return the unique url to the client's invoice",
        "operationId": "EstimationApi_Uri",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EstimationUriApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/convert": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Convert the estimation to an invoice",
        "operationId": "EstimationApi_Convert",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "body",
            "description": "",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/estimation/sendtoclient": {
      "post": {
        "tags": [
          "Estimation"
        ],
        "summary": "Send the provided estimation to the client",
        "operationId": "EstimationApi_SendToClient",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deliveryOptions",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SendEstimationToClientApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/general/countries": {
      "get": {
        "tags": [
          "General"
        ],
        "summary": "Return all of the platform supported countries",
        "operationId": "GeneralApi_Countries",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CountryDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/general/currencies": {
      "get": {
        "tags": [
          "General"
        ],
        "summary": "Return all of the platform supported currencies",
        "operationId": "GeneralApi_Currencies",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CurrencyDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/general/uilanguages": {
      "get": {
        "tags": [
          "General"
        ],
        "summary": "Return all of the platform supported UI languages",
        "operationId": "GeneralApi_UiLanguages",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UILanguageDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/general/dateformats": {
      "get": {
        "tags": [
          "General"
        ],
        "summary": "Return all of the platform supported Date Formats",
        "operationId": "GeneralApi_DateFormats",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api/invoice/all": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Return all invoices for the account",
        "operationId": "InvoiceApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[InvoiceDetailsApiModel]"
            }
          }
        }
      }
    },
    "/api/invoice/allcategories": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Return all invoice categories for the account",
        "operationId": "InvoiceApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[InvoiceCategoryApiModel]"
            }
          }
        }
      }
    },
    "/api/invoice/new": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create an invoice",
        "operationId": "InvoiceApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "invoice",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/newcategory": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create an invoice category",
        "operationId": "InvoiceApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "invoiceCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceCategoryCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceCategoryApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/update": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Update an existing invoice",
        "operationId": "InvoiceApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "invoice",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/updatecategory": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Update an existing invoice category",
        "operationId": "InvoiceApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "invoiceCateogry",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceCategoryUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceCategoryApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/delete": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Delete an existing invoice",
        "operationId": "InvoiceApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/invoice/deletecategory": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Delete an existing invoice category",
        "operationId": "InvoiceApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceCategoryDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/invoice/sendtoclient": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Send the provided invoice to the client",
        "operationId": "InvoiceApi_SendToClient",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deliveryOptions",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SendInvoiceToClientApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/invoice/sendtoaccountant": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Send the provided invoice to the accountant",
        "operationId": "InvoiceApi_SendToAccountant",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "invoice",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SendInvoiceToAccountantApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/invoice/changestatus": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Change invoice status",
        "operationId": "InvoiceApi_ChangeStatus",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "statusModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeStatusApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "/api/invoice/status": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Retrieve the status of the invoice",
        "operationId": "InvoiceApi_Status",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "enum": [
                "Draft",
                "Paid",
                "Unpaid",
                "Overdue",
                "Void"
              ],
              "type": "string"
            }
          }
        }
      }
    },
    "/api/invoice/details": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Return invoice data",
        "operationId": "InvoiceApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/uri": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Return the unique url to the client's invoice",
        "operationId": "InvoiceApi_Uri",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceUriApiModel"
            }
          }
        }
      }
    },
    "/api/invoice/pdf": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Return the PDF for the invoice",
        "operationId": "InvoiceApi_Pdf",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "signedVersion",
            "in": "query",
            "description": "",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceUriApiModel"
            }
          }
        }
      }
    },
    "/api/order/all": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Return all orders for the account",
        "operationId": "OrderApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[OrderDetailsApiModel]"
            }
          }
        }
      }
    },
    "/api/order/new": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Create an order",
        "operationId": "OrderApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "order",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OrderCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/order/delete": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Delete an existing order",
        "operationId": "OrderApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "order",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OrderDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/order/changeshippingdetails": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Change order shipping details",
        "operationId": "OrderApi_ChangeShippingDetails",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "orderId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "shippingDetails",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OrderShippingDetailsApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/order/changestatus": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Change order status",
        "operationId": "OrderApi_ChangeStatus",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "status",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeOrderStatusApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/order/details": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Return order details",
        "operationId": "OrderApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrderFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/payment/supported": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Return all supported payment gateways (no currencies means all are supported)",
        "operationId": "PaymentApi_Supported",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PaymentGatewayDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/paymentlink/uri": {
      "get": {
        "tags": [
          "PaymentLink"
        ],
        "summary": "Return the unique url to the client's payment link",
        "operationId": "PaymentLinkApi_Uri",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PaymentLinkUriApiModel"
            }
          }
        }
      }
    },
    "/api/paymentlink/all": {
      "get": {
        "tags": [
          "PaymentLink"
        ],
        "summary": "Create a payment link",
        "operationId": "PaymentLinkApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[PaymentLink]"
            }
          }
        }
      }
    },
    "/api/paymentlink/new": {
      "post": {
        "tags": [
          "PaymentLink"
        ],
        "summary": "Create a payment link",
        "operationId": "PaymentLinkApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paymentLink",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PaymentLink"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/paymentlink/delete": {
      "post": {
        "tags": [
          "PaymentLink"
        ],
        "summary": "Delete an existing payment link",
        "operationId": "PaymentLinkApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paymentLink",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PaymentLink"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/product/all": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "Return all products for the account",
        "operationId": "ProductApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListResult[ProductDetailsApiModel]"
            }
          }
        }
      }
    },
    "/api/product/new": {
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "Create a product",
        "operationId": "ProductApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProductCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/product/update": {
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "Update an existing product",
        "operationId": "ProductApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "product",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProductUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/product/delete": {
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "Delete an existing product",
        "operationId": "ProductApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProductDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/product/details": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "Return product details",
        "operationId": "ProductApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProductFullDetailsApiModel"
            }
          }
        }
      }
    },
    "/api/tax/all": {
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Return all taxes for the account",
        "operationId": "TaxApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaxDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/tax/new": {
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Create a tax",
        "operationId": "TaxApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "tax",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TaxCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/tax/update": {
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Update an existing tax",
        "operationId": "TaxApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "tax",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TaxUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/tax/delete": {
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Delete an existing tax",
        "operationId": "TaxApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TaxDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/worktype/all": {
      "get": {
        "tags": [
          "WorkType"
        ],
        "summary": "Return all work types for the account",
        "operationId": "WorkTypeApi_All",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/worktype/search": {
      "get": {
        "tags": [
          "WorkType"
        ],
        "summary": "Return all work types for the account that match the query param",
        "operationId": "WorkTypeApi_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "queryOptions.query",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "queryOptions.orderBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "queryOptions.order",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "None",
              "Asc",
              "Desc"
            ]
          },
          {
            "name": "queryOptions.page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "queryOptions.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeDetailsApiModel"
              }
            }
          }
        }
      }
    },
    "/api/worktype/new": {
      "post": {
        "tags": [
          "WorkType"
        ],
        "summary": "Create a work type",
        "operationId": "WorkTypeApi_New",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "workType",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkTypeCreateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/worktype/update": {
      "post": {
        "tags": [
          "WorkType"
        ],
        "summary": "Update an existing work type",
        "operationId": "WorkTypeApi_Update",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "workType",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkTypeUpdateApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/worktype/delete": {
      "post": {
        "tags": [
          "WorkType"
        ],
        "summary": "Delete an existing work type",
        "operationId": "WorkTypeApi_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deleteModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkTypeDeleteApiModel"
            }
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        }
      }
    },
    "/api/worktype/details": {
      "get": {
        "tags": [
          "WorkType"
        ],
        "summary": "Return work type details",
        "operationId": "WorkTypeApi_Details",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "text/html",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "workTypeId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "x-auth-key",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication key]"
          },
          {
            "name": "x-auth-secret",
            "in": "header",
            "description": "",
            "required": true,
            "type": "string",
            "default": "[authentication secret]"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WorkTypeDetailsApiModel"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "ClientDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "CreatedOn": {
          "format": "date-time",
          "description": "Date of creation",
          "type": "string"
        },
        "ClientCurrencyId": {
          "format": "int32",
          "description": "Indicates the default system currency used by the user for the client",
          "type": "integer"
        },
        "ClientCountryId": {
          "format": "int32",
          "description": "Indicates the country where the clients is from",
          "type": "integer"
        },
        "UiLanguageId": {
          "format": "int32",
          "description": "Hold a value of the language in which the invoice will be sent",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the client",
          "type": "string"
        },
        "Address": {
          "description": "Client business address",
          "type": "string"
        },
        "Email": {
          "description": "Client email",
          "type": "string"
        },
        "AdditionalEmails": {
          "description": "Client additional emails contact for CC",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AdditionalClientEmailApiModel"
          }
        },
        "PhoneNumber": {
          "description": "Client phone numer",
          "type": "string"
        },
        "Vat": {
          "description": "Client's VAT number",
          "type": "string"
        },
        "CompanyRegistrationNumber": {
          "description": "Client's Company Registration Number",
          "type": "string"
        },
        "DefaultDueDateInDays": {
          "format": "int32",
          "description": "Client custom payment terms",
          "type": "integer"
        }
      }
    },
    "AdditionalClientEmailApiModel": {
      "type": "object",
      "properties": {
        "Email": {
          "description": "CC",
          "type": "string"
        }
      }
    },
    "ClientCreateApiModel": {
      "type": "object",
      "properties": {
        "ClientCurrencyId": {
          "format": "int32",
          "description": "Indicates the default system currency used by the user for the client",
          "type": "integer"
        },
        "ClientCountryId": {
          "format": "int32",
          "description": "Indicates the country where the clients is from",
          "type": "integer"
        },
        "UiLanguageId": {
          "format": "int32",
          "description": "Hold a value of the language in which the invoice will be sent",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the client",
          "type": "string"
        },
        "Address": {
          "description": "Client business address",
          "type": "string"
        },
        "Email": {
          "description": "Client email",
          "type": "string"
        },
        "AdditionalEmails": {
          "description": "Client additional emails contact for CC",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AdditionalClientEmailApiModel"
          }
        },
        "PhoneNumber": {
          "description": "Client phone numer",
          "type": "string"
        },
        "Vat": {
          "description": "Client's VAT number",
          "type": "string"
        },
        "CompanyRegistrationNumber": {
          "description": "Client's Company Registration Number",
          "type": "string"
        },
        "DefaultDueDateInDays": {
          "format": "int32",
          "description": "Client custom payment terms",
          "type": "integer"
        }
      }
    },
    "ClientUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "ClientCurrencyId": {
          "format": "int32",
          "description": "Indicates the default system currency used by the user for the client",
          "type": "integer"
        },
        "ClientCountryId": {
          "format": "int32",
          "description": "Indicates the country where the clients is from",
          "type": "integer"
        },
        "UiLanguageId": {
          "format": "int32",
          "description": "Hold a value of the language in which the invoice will be sent",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the client",
          "type": "string"
        },
        "Address": {
          "description": "Client business address",
          "type": "string"
        },
        "Email": {
          "description": "Client email",
          "type": "string"
        },
        "AdditionalEmails": {
          "description": "Client additional emails contact for CC",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AdditionalClientEmailApiModel"
          }
        },
        "PhoneNumber": {
          "description": "Client phone numer",
          "type": "string"
        },
        "Vat": {
          "description": "Client's VAT number",
          "type": "string"
        },
        "CompanyRegistrationNumber": {
          "description": "Client's Company Registration Number",
          "type": "string"
        },
        "DefaultDueDateInDays": {
          "format": "int32",
          "description": "Client custom payment terms",
          "type": "integer"
        }
      }
    },
    "ClientDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of client to be deleted",
          "type": "integer"
        }
      }
    },
    "QueryOptions": {
      "type": "object",
      "properties": {
        "Page": {
          "format": "int32",
          "type": "integer"
        },
        "PageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ListResult[EstimationDetailsApiModel]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationDetailsApiModel"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "EstimationDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Estimation id",
          "type": "integer"
        },
        "Client": {
          "$ref": "#/definitions/ClientDetailsApiModel",
          "description": "Client data referened to this estimation"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this estimation"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which estimation this estimation has been cloned from",
          "type": "integer"
        },
        "Number": {
          "description": "Unique estimation number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the estimation was issued",
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "description": "Indicates when the estimation will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Total amount of the estimation without tax",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the estimation with tax",
          "type": "number"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the estimation",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the estimation (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Accepted",
            "Rejected"
          ],
          "type": "string"
        },
        "AccessToken": {
          "description": "Security access token used for accessing the estimation anonymously",
          "type": "string"
        }
      }
    },
    "IErrorInfo": {
      "type": "object",
      "properties": {
        "Group": {
          "type": "string",
          "readOnly": true
        },
        "Code": {
          "type": "string",
          "readOnly": true
        },
        "FaultMessage": {
          "type": "string",
          "readOnly": true
        },
        "UserVisibleMessage": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "CurrencyDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the country",
          "type": "string"
        },
        "Value": {
          "description": "Currency short alpha code",
          "type": "string"
        },
        "Code": {
          "description": "Currency short numeric code",
          "type": "string"
        },
        "Symbol": {
          "description": "Currency symbol",
          "type": "string"
        }
      }
    },
    "EstimationCreateApiModel": {
      "type": "object",
      "properties": {
        "ClientId": {
          "format": "int32",
          "description": "The client to whom this estimation is assigned",
          "type": "integer"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which estimation this estimation has been cloned from",
          "type": "integer"
        },
        "Number": {
          "description": "Unique estimation number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the estimation was issued",
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "description": "Indicates when the estimation will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the estimation",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the estimation (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Accepted",
            "Rejected"
          ],
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Id of the currency for the estimation amounts",
          "type": "integer"
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this estimation",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationGatewayApiModel"
          }
        },
        "Attachments": {
          "description": "List of estimation attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationCreateAttachmentApiModel"
          }
        },
        "Items": {
          "description": "List of estimation items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationCreateItemApiModel"
          }
        }
      }
    },
    "EstimationGatewayApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Name of the payment gateway",
          "type": "string"
        }
      }
    },
    "EstimationCreateAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "EstimationCreateItemApiModel": {
      "type": "object",
      "properties": {
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the estimation item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "EstimationFullDetailsApiModel": {
      "type": "object",
      "properties": {
        "Items": {
          "description": "List of estimation items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationItemApiModel"
          }
        },
        "Attachments": {
          "description": "List of estimation attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationAttachmentApiModel"
          }
        },
        "Activities": {
          "description": "List of estimation activities. estimation audit log",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationActivityApiModel"
          }
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this estimation",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationGatewayApiModel"
          }
        },
        "Id": {
          "format": "int32",
          "description": "Estimation id",
          "type": "integer"
        },
        "Client": {
          "$ref": "#/definitions/ClientDetailsApiModel",
          "description": "Client data referened to this estimation"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this estimation"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which estimation this estimation has been cloned from",
          "type": "integer"
        },
        "Number": {
          "description": "Unique estimation number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the estimation was issued",
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "description": "Indicates when the estimation will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Total amount of the estimation without tax",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the estimation with tax",
          "type": "number"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the estimation",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the estimation (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Accepted",
            "Rejected"
          ],
          "type": "string"
        },
        "AccessToken": {
          "description": "Security access token used for accessing the estimation anonymously",
          "type": "string"
        }
      }
    },
    "EstimationItemApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation item",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the estimation item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Sub-Total amount of the estimation item (Amount without tax)",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the estimation item",
          "type": "number"
        }
      }
    },
    "EstimationAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation attachment",
          "type": "integer"
        },
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "EstimationActivityApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation activity",
          "type": "integer"
        },
        "EstimationNumber": {
          "description": "Indicates to which estimation this activity refers to",
          "type": "string"
        },
        "Type": {
          "description": "Type of the activity",
          "enum": [
            "Created",
            "Draft",
            "Cloned",
            "SentViaEmail",
            "SentViaSms",
            "SentReminderViaEmail",
            "SentReminderViaSms",
            "Opened",
            "Viewed",
            "Rejected",
            "Updated",
            "Paid",
            "Unpaid",
            "Overdue",
            "NewManualPayment",
            "NewPaymentWithPaypal",
            "NewPaymentWithStripe",
            "NewPaymentWithPayoneer",
            "SentToAccountant",
            "DownloadedAsPdf",
            "MarkAsPaidByTheClient",
            "OpenedAttachment",
            "NewPaymentWithSquare",
            "NewPaymentWithKlikAndPay",
            "NewPaymentWithRazorpay",
            "NewPaymentWithWepay",
            "NewPaymentWithHalkbank",
            "ChangeStatus",
            "OrderUpdated",
            "OrderCreated",
            "NewPaymentWithTwoCheckout",
            "NewPaymentWithPaymentWall",
            "NewPaymentWithBamboraEU",
            "NewPaymentWithBamboraNA",
            "Void",
            "NewPaymentWithNlb",
            "NewPaymentWithAuthorizeNet",
            "NewPaymentWithBraintree",
            "EstimationCreated",
            "EstimationDraft",
            "EstimationCloned",
            "EstimationSentViaEmail",
            "EstimationOpened",
            "EstimationViewed",
            "EstimationAccepted",
            "EstimationRejected",
            "EstimationUpdated",
            "EstimationDownloadedAsPdf",
            "InvoiceDigitallySigned"
          ],
          "type": "string"
        },
        "Message": {
          "description": "Message associated with the activity",
          "type": "string"
        },
        "Link": {
          "description": "Url which point out to a certain activity action. Ex: Click to view the payment",
          "type": "string"
        }
      }
    },
    "EstimationUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "estimation id",
          "type": "integer"
        },
        "ClientId": {
          "format": "int32",
          "description": "The client to whom this estimation is assigned",
          "type": "integer"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which estimation this estimation has been cloned from",
          "type": "integer"
        },
        "Number": {
          "description": "Unique estimation number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the estimation was issued",
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "description": "Indicates when the estimation will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the estimation",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the estimation (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Accepted",
            "Rejected"
          ],
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Id of the currency for the estimation amounts",
          "type": "integer"
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this estimation",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationGatewayApiModel"
          }
        },
        "Attachments": {
          "description": "List of estimation attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationUpdateAttachmentApiModel"
          }
        },
        "Items": {
          "description": "List of estimation items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EstimationUpdateItemApiModel"
          }
        }
      }
    },
    "EstimationUpdateAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation attachment",
          "type": "integer"
        },
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "EstimationUpdateItemApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation item",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the estimation item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "EstimationDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of estimation to be deleted",
          "type": "integer"
        }
      }
    },
    "EstimationChangeStatusApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Estimation Id",
          "type": "integer"
        },
        "Status": {
          "description": "New status of the estimation",
          "enum": [
            "Draft",
            "Accepted",
            "Rejected"
          ],
          "type": "string"
        }
      }
    },
    "EstimationUriApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Unique link to the estimation",
          "type": "string"
        }
      }
    },
    "InvoiceFullDetailsApiModel": {
      "type": "object",
      "properties": {
        "Items": {
          "description": "List of invoice items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceItemApiModel"
          }
        },
        "Attachments": {
          "description": "List of invoice attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceAttachmentApiModel"
          }
        },
        "Payments": {
          "description": "List of invoice payments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoicePaymentApiModel"
          }
        },
        "Activities": {
          "description": "List of invoice activities. Invoice audit log",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceActivityApiModel"
          }
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this invoice",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceGatewayApiModel"
          }
        },
        "Id": {
          "format": "int32",
          "description": "Invoice id",
          "type": "integer"
        },
        "Client": {
          "$ref": "#/definitions/ClientDetailsApiModel",
          "description": "Client data referened to this invoice"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this invoice"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which invoice this invoice has been cloned from",
          "type": "integer"
        },
        "RecurringProfileId": {
          "format": "int32",
          "description": "Hold the id of the recurring profile",
          "type": "integer"
        },
        "Number": {
          "description": "Unique invoice number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the invoice was issued",
          "type": "string"
        },
        "Duedate": {
          "format": "date-time",
          "description": "Indicates when the invoice will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Total amount of the invoice without tax",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the invoice with tax",
          "type": "number"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the invoice",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the invoice (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        },
        "EnablePartialPayments": {
          "description": "Indicate that the invoice allows the user to pay the invoice partially",
          "type": "boolean"
        },
        "AccessToken": {
          "description": "Security access token used for accessing the invoice anonymously",
          "type": "string"
        },
        "RecurringProfile": {
          "$ref": "#/definitions/InvoiceRecurringApiModel",
          "description": "Hold the recurring profile"
        },
        "InvoiceCategoryId": {
          "format": "int32",
          "description": "Hold the id of the invoice category",
          "type": "integer"
        },
        "ShouldSendReminders": {
          "description": "Should send email reminders to client?",
          "type": "boolean"
        }
      }
    },
    "InvoiceItemApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice item",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the invoice item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Sub-Total amount of the invoice item (Amount without tax)",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the invoice item",
          "type": "number"
        }
      }
    },
    "InvoiceAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice attachment",
          "type": "integer"
        },
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "InvoicePaymentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice payment",
          "type": "integer"
        },
        "Note": {
          "description": "Internal payment note",
          "type": "string"
        },
        "PaidOn": {
          "format": "date-time",
          "description": "When the payment was done by the client",
          "type": "string"
        },
        "Amount": {
          "format": "double",
          "description": "Total amount of the payment",
          "type": "number"
        },
        "Type": {
          "description": "Type of payment",
          "enum": [
            "Other",
            "Paypal",
            "Stripe",
            "Payoneer",
            "Bank",
            "Cash",
            "Cheque",
            "Ach",
            "Sepa",
            "Square",
            "KlikAndPay",
            "Razorpay",
            "Wepay",
            "Halkbank",
            "TwoCheckout",
            "PaymentWall",
            "BamboraEU",
            "BamboraNA",
            "Nlb",
            "AuthorizeNet",
            "Braintree"
          ],
          "type": "string"
        },
        "IsAutomatic": {
          "description": "Indicate if the payment is automatic or manual",
          "type": "boolean"
        },
        "ReferenceId": {
          "description": "Id of the payment",
          "type": "string"
        }
      }
    },
    "InvoiceActivityApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice activity",
          "type": "integer"
        },
        "InvoiceNumber": {
          "description": "Indicates to which invoice this activity refers to",
          "type": "string"
        },
        "Type": {
          "description": "Type of the activity",
          "enum": [
            "Created",
            "Draft",
            "Cloned",
            "SentViaEmail",
            "SentViaSms",
            "SentReminderViaEmail",
            "SentReminderViaSms",
            "Opened",
            "Viewed",
            "Rejected",
            "Updated",
            "Paid",
            "Unpaid",
            "Overdue",
            "NewManualPayment",
            "NewPaymentWithPaypal",
            "NewPaymentWithStripe",
            "NewPaymentWithPayoneer",
            "SentToAccountant",
            "DownloadedAsPdf",
            "MarkAsPaidByTheClient",
            "OpenedAttachment",
            "NewPaymentWithSquare",
            "NewPaymentWithKlikAndPay",
            "NewPaymentWithRazorpay",
            "NewPaymentWithWepay",
            "NewPaymentWithHalkbank",
            "ChangeStatus",
            "OrderUpdated",
            "OrderCreated",
            "NewPaymentWithTwoCheckout",
            "NewPaymentWithPaymentWall",
            "NewPaymentWithBamboraEU",
            "NewPaymentWithBamboraNA",
            "Void",
            "NewPaymentWithNlb",
            "NewPaymentWithAuthorizeNet",
            "NewPaymentWithBraintree",
            "EstimationCreated",
            "EstimationDraft",
            "EstimationCloned",
            "EstimationSentViaEmail",
            "EstimationOpened",
            "EstimationViewed",
            "EstimationAccepted",
            "EstimationRejected",
            "EstimationUpdated",
            "EstimationDownloadedAsPdf",
            "InvoiceDigitallySigned"
          ],
          "type": "string"
        },
        "Message": {
          "description": "Message associated with the activity",
          "type": "string"
        },
        "Link": {
          "description": "Url which point out to a certain activity action. Ex: Click to view the payment",
          "type": "string"
        }
      }
    },
    "InvoiceGatewayApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Name of the payment gateway",
          "type": "string"
        }
      }
    },
    "InvoiceRecurringApiModel": {
      "description": "Definition of invoice recurring profile",
      "type": "object",
      "properties": {
        "Title": {
          "description": "Title of the recurring profile. \r\nEx: BRAND PACKAGE - 2017-08-16 - 2018-08-16",
          "type": "string"
        },
        "RecurrancePattern": {
          "description": "How often the recurrance occurs",
          "enum": [
            "Daily",
            "Weekly",
            "Monthly",
            "Yearly"
          ],
          "type": "string"
        },
        "RecurranceValue": {
          "format": "int32",
          "description": "Recurring every [value] RecurrancePattern\r\nEx: Recur every 1 week",
          "type": "integer"
        },
        "DayOfWeek": {
          "description": "Day when the recurrance should happen",
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string"
        },
        "DayOfMonth": {
          "format": "int32",
          "description": "Day of month when the recurrance should happen",
          "type": "integer"
        },
        "Month": {
          "format": "int32",
          "description": "Month when the recurrance should happen",
          "type": "integer"
        },
        "StartOfRecurrance": {
          "format": "date-time",
          "description": "Indcate the date when the recurrance has started",
          "type": "string"
        },
        "EndOfRecurrance": {
          "format": "date-time",
          "description": "Indcate the date when the recurrance should stop",
          "type": "string"
        },
        "DueDateInDays": {
          "format": "int32",
          "description": "Total number of days for the client to pay the invoice after issuing it",
          "type": "integer"
        },
        "Status": {
          "description": "The status of the recurrance",
          "enum": [
            "Pending",
            "Active",
            "Cancelled",
            "Finished"
          ],
          "type": "string"
        }
      }
    },
    "SendEstimationToClientApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of the estimation",
          "type": "integer"
        },
        "EstimationId": {
          "format": "int32",
          "description": "Id of the estimation",
          "type": "integer"
        },
        "Message": {
          "description": "Message to be embedded in the email",
          "type": "string"
        },
        "Subject": {
          "description": "Subject for the email",
          "type": "string"
        },
        "SendToSelf": {
          "description": "Should email copy be send to self",
          "type": "boolean"
        },
        "AttachPdf": {
          "description": "Should attach pdf file",
          "type": "boolean"
        }
      }
    },
    "CountryDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the country",
          "type": "string"
        },
        "Value": {
          "description": "Country short code",
          "type": "string"
        }
      }
    },
    "UILanguageDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the country",
          "type": "string"
        },
        "UiCulture": {
          "description": "Ui culture options",
          "type": "string"
        }
      }
    },
    "ListResult[InvoiceDetailsApiModel]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceDetailsApiModel"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "InvoiceDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Invoice id",
          "type": "integer"
        },
        "Client": {
          "$ref": "#/definitions/ClientDetailsApiModel",
          "description": "Client data referened to this invoice"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this invoice"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which invoice this invoice has been cloned from",
          "type": "integer"
        },
        "RecurringProfileId": {
          "format": "int32",
          "description": "Hold the id of the recurring profile",
          "type": "integer"
        },
        "Number": {
          "description": "Unique invoice number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the invoice was issued",
          "type": "string"
        },
        "Duedate": {
          "format": "date-time",
          "description": "Indicates when the invoice will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Amount that goes as a discount",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Amount that goes to the tax",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Total amount of the invoice without tax",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of the invoice with tax",
          "type": "number"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the invoice",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the invoice (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        },
        "EnablePartialPayments": {
          "description": "Indicate that the invoice allows the user to pay the invoice partially",
          "type": "boolean"
        },
        "AccessToken": {
          "description": "Security access token used for accessing the invoice anonymously",
          "type": "string"
        },
        "RecurringProfile": {
          "$ref": "#/definitions/InvoiceRecurringApiModel",
          "description": "Hold the recurring profile"
        },
        "InvoiceCategoryId": {
          "format": "int32",
          "description": "Hold the id of the invoice category",
          "type": "integer"
        },
        "ShouldSendReminders": {
          "description": "Should send email reminders to client?",
          "type": "boolean"
        }
      }
    },
    "ListResult[InvoiceCategoryApiModel]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceCategoryApiModel"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "InvoiceCategoryApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Category name",
          "type": "string"
        }
      }
    },
    "InvoiceCreateApiModel": {
      "type": "object",
      "properties": {
        "ClientId": {
          "format": "int32",
          "description": "The client to whom this invoice is assigned",
          "type": "integer"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which invoice this invoice has been cloned from",
          "type": "integer"
        },
        "RecurringProfileId": {
          "format": "int32",
          "description": "Hold the id of the recurring profile",
          "type": "integer"
        },
        "Number": {
          "description": "Unique invoice number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the invoice was issued",
          "type": "string"
        },
        "Duedate": {
          "format": "date-time",
          "description": "Indicates when the invoice will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the invoice",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the invoice (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Id of the currency for the invoice amounts",
          "type": "integer"
        },
        "InvoiceCategoryId": {
          "format": "int32",
          "description": "Hold the id of the invoice category",
          "type": "integer"
        },
        "ShouldSendReminders": {
          "description": "Should send email reminders to client?",
          "type": "boolean"
        },
        "RecurringProfile": {
          "$ref": "#/definitions/InvoiceRecurringApiModel",
          "description": "Hold the recurring profile"
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this invoice",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceGatewayApiModel"
          }
        },
        "Attachments": {
          "description": "List of invoice attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceCreateAttachmentApiModel"
          }
        },
        "Items": {
          "description": "List of invoice items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceCreateItemApiModel"
          }
        }
      }
    },
    "InvoiceCreateAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "InvoiceCreateItemApiModel": {
      "type": "object",
      "properties": {
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the invoice item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "InvoiceCategoryCreateApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Category name",
          "type": "string"
        }
      }
    },
    "InvoiceUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Invoice id",
          "type": "integer"
        },
        "ClientId": {
          "format": "int32",
          "description": "The client to whom this invoice is assigned",
          "type": "integer"
        },
        "ClonedFromId": {
          "format": "int32",
          "description": "Indicate from which invoice this invoice has been cloned from",
          "type": "integer"
        },
        "RecurringProfileId": {
          "format": "int32",
          "description": "Hold the id of the recurring profile",
          "type": "integer"
        },
        "Number": {
          "description": "Unique invoice number",
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "description": "Indicates when the invoice was issued",
          "type": "string"
        },
        "Duedate": {
          "format": "date-time",
          "description": "Indicates when the invoice will be proclamed as due",
          "type": "string"
        },
        "PoNumber": {
          "description": "Unique number generated by the buyer",
          "type": "string"
        },
        "Terms": {
          "description": "Terms of agreement",
          "type": "string"
        },
        "Notes": {
          "description": "Internal note regarding the invoice",
          "type": "string"
        },
        "Status": {
          "description": "Indicate the status of the invoice (paid/unpaid/overdue)",
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Id of the currency for the invoice amounts",
          "type": "integer"
        },
        "InvoiceCategoryId": {
          "format": "int32",
          "description": "Hold the id of the invoice category",
          "type": "integer"
        },
        "ShouldSendReminders": {
          "description": "Should send email reminders to client?",
          "type": "boolean"
        },
        "RecurringProfile": {
          "$ref": "#/definitions/InvoiceRecurringApiModel",
          "description": "Hold the recurring profile"
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this invoice",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceGatewayApiModel"
          }
        },
        "Attachments": {
          "description": "List of invoice attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceUpdateAttachmentApiModel"
          }
        },
        "Items": {
          "description": "List of invoice items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceUpdateItemApiModel"
          }
        }
      }
    },
    "InvoiceUpdateAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice attachment",
          "type": "integer"
        },
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "InvoiceUpdateItemApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice item",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Work type (Name of the service)",
          "type": "integer"
        },
        "Description": {
          "description": "Additional description attached to the invoice item",
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "description": "Amount per unit",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Quantity in total used for the work type",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage for the overall amount",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "description": "Tax applied on the item",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "InvoiceCategoryUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Category name",
          "type": "string"
        }
      }
    },
    "InvoiceDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of invoice to be deleted",
          "type": "integer"
        }
      }
    },
    "InvoiceCategoryDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "SendInvoiceToClientApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of the invoice",
          "type": "integer"
        },
        "InvoiceId": {
          "format": "int32",
          "description": "Id of the invoice",
          "type": "integer"
        },
        "Message": {
          "description": "Message to be embedded in the email",
          "type": "string"
        },
        "Subject": {
          "description": "Subject for the email",
          "type": "string"
        },
        "SendToSelf": {
          "description": "Should email copy be send to self",
          "type": "boolean"
        },
        "AttachPdf": {
          "description": "Should attach pdf file",
          "type": "boolean"
        }
      }
    },
    "SendInvoiceToAccountantApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of the invoice",
          "type": "integer"
        }
      }
    },
    "ChangeStatusApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Invoice Id",
          "type": "integer"
        },
        "Status": {
          "description": "New status of the invoice",
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        }
      }
    },
    "InvoiceUriApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Unique link to the invoice",
          "type": "string"
        }
      }
    },
    "ListResult[OrderDetailsApiModel]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderDetailsApiModel"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "OrderDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Order id",
          "type": "integer"
        },
        "Referral": {
          "description": "Represent the referral for this order",
          "type": "string"
        },
        "ProductId": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Note": {
          "description": "Customer note to seller",
          "type": "string"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this order"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "AccessToken": {
          "description": "Product short link",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Discount amount",
          "type": "number"
        },
        "CouponCode": {
          "description": "Coupon to apply in order to get the discount",
          "type": "string"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Sub total amount",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount",
          "type": "number"
        },
        "TotalWithShipping": {
          "format": "double",
          "description": "Total amount with shipping",
          "type": "number"
        },
        "Status": {
          "description": "Order status",
          "enum": [
            "PendingPayment",
            "Processing",
            "Shipped",
            "Completed",
            "OnHold",
            "Cancelled",
            "Refunded",
            "Failed"
          ],
          "type": "string"
        },
        "OrderShippingDetails": {
          "$ref": "#/definitions/OrderShippingDetailsApiModel",
          "description": "Order sshipping details"
        },
        "OrderBillingDetails": {
          "$ref": "#/definitions/OrderBillingDetailsApiModel",
          "description": "Order billing details"
        }
      }
    },
    "OrderShippingDetailsApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Client name",
          "type": "string"
        },
        "Email": {
          "description": "Client email",
          "type": "string"
        },
        "Address": {
          "description": "Client street and number",
          "type": "string"
        },
        "CountryId": {
          "format": "int32",
          "description": "Client country id",
          "type": "integer"
        },
        "PhoneNumber": {
          "description": "Client phone number",
          "type": "string"
        }
      }
    },
    "OrderBillingDetailsApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Client name",
          "type": "string"
        },
        "Email": {
          "description": "Client email",
          "type": "string"
        },
        "Address": {
          "description": "Client street and number",
          "type": "string"
        },
        "CountryId": {
          "format": "int32",
          "description": "Client country id",
          "type": "integer"
        },
        "PhoneNumber": {
          "description": "Client phone number",
          "type": "string"
        }
      }
    },
    "OrderCreateApiModel": {
      "type": "object",
      "properties": {
        "Referral": {
          "description": "Represent the referral for this order",
          "type": "string"
        },
        "ProductId": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Note": {
          "description": "Customer note to seller",
          "type": "string"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Discount amount",
          "type": "number"
        },
        "CouponCode": {
          "description": "Coupon to apply in order to get the discount",
          "type": "string"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Sub total amount",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount",
          "type": "number"
        },
        "Status": {
          "description": "Order status",
          "enum": [
            "PendingPayment",
            "Processing",
            "Shipped",
            "Completed",
            "OnHold",
            "Cancelled",
            "Refunded",
            "Failed"
          ],
          "type": "string"
        },
        "OrderShippingDetails": {
          "$ref": "#/definitions/OrderShippingDetailsApiModel",
          "description": "Order sshipping details"
        },
        "OrderBillingDetails": {
          "$ref": "#/definitions/OrderBillingDetailsApiModel",
          "description": "Order billing details"
        },
        "Items": {
          "description": "List of Order items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderItemApiModel"
          }
        },
        "Attachments": {
          "description": "List of Order attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderAttachmentApiModel"
          }
        }
      }
    },
    "OrderItemApiModel": {
      "type": "object",
      "properties": {
        "ProductItemId": {
          "format": "int32",
          "description": "Foreign key product item id",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Foreign key work type id",
          "type": "integer"
        },
        "TaxId": {
          "format": "int32",
          "description": "Foreign key Tax id",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Tax percentage",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "Cost": {
          "format": "double",
          "description": "Work item cost",
          "type": "number"
        },
        "Description": {
          "description": "General description",
          "type": "string"
        },
        "ReferenceId": {
          "description": "Order SKU",
          "type": "string"
        },
        "Quantity": {
          "format": "double",
          "description": "Work item quantity",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Subtotal amount of product",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of product",
          "type": "number"
        }
      }
    },
    "OrderAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "OrderDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of order to be deleted",
          "type": "integer"
        }
      }
    },
    "ChangeOrderStatusApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Order Id",
          "type": "integer"
        },
        "Status": {
          "description": "New status of the order",
          "enum": [
            "PendingPayment",
            "Processing",
            "Shipped",
            "Completed",
            "OnHold",
            "Cancelled",
            "Refunded",
            "Failed"
          ],
          "type": "string"
        },
        "Reason": {
          "description": "Reason for status change",
          "type": "string"
        }
      }
    },
    "OrderFullDetailsApiModel": {
      "type": "object",
      "properties": {
        "Items": {
          "description": "List of Order items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderItemApiModel"
          }
        },
        "Attachments": {
          "description": "List of Order attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderAttachmentApiModel"
          }
        },
        "Id": {
          "format": "int32",
          "description": "Order id",
          "type": "integer"
        },
        "Referral": {
          "description": "Represent the referral for this order",
          "type": "string"
        },
        "ProductId": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Note": {
          "description": "Customer note to seller",
          "type": "string"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this order"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "AccessToken": {
          "description": "Product short link",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Discount amount",
          "type": "number"
        },
        "CouponCode": {
          "description": "Coupon to apply in order to get the discount",
          "type": "string"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Sub total amount",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount",
          "type": "number"
        },
        "TotalWithShipping": {
          "format": "double",
          "description": "Total amount with shipping",
          "type": "number"
        },
        "Status": {
          "description": "Order status",
          "enum": [
            "PendingPayment",
            "Processing",
            "Shipped",
            "Completed",
            "OnHold",
            "Cancelled",
            "Refunded",
            "Failed"
          ],
          "type": "string"
        },
        "OrderShippingDetails": {
          "$ref": "#/definitions/OrderShippingDetailsApiModel",
          "description": "Order sshipping details"
        },
        "OrderBillingDetails": {
          "$ref": "#/definitions/OrderBillingDetailsApiModel",
          "description": "Order billing details"
        }
      }
    },
    "PaymentGatewayDetailsApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Name of the payment gateway",
          "type": "string"
        },
        "SupportedCurrencies": {
          "description": "List of supported currencies.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CurrencyApiModel"
          }
        }
      }
    },
    "CurrencyApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Name of the currency",
          "type": "string"
        },
        "Value": {
          "description": "Currency short code",
          "type": "string"
        }
      }
    },
    "PaymentLinkUriApiModel": {
      "type": "object",
      "properties": {
        "Link": {
          "description": "Unique link to the invoice",
          "type": "string"
        }
      }
    },
    "ListResult[PaymentLink]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentLink"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "PaymentLink": {
      "type": "object",
      "properties": {
        "Number": {
          "type": "string"
        },
        "AccessToken": {
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "type": "integer"
        },
        "Currency": {
          "$ref": "#/definitions/Currency"
        },
        "ClientId": {
          "format": "int32",
          "type": "integer"
        },
        "Client": {
          "$ref": "#/definitions/Client"
        },
        "User": {
          "$ref": "#/definitions/User"
        },
        "Invoice": {
          "$ref": "#/definitions/Invoice"
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentLinkItem"
          }
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "type": "number"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Currency": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Code": {
          "type": "string"
        },
        "Symbol": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Client": {
      "type": "object",
      "properties": {
        "ClientCurrencyId": {
          "format": "int32",
          "type": "integer"
        },
        "ClientCountryId": {
          "format": "int32",
          "type": "integer"
        },
        "UiLanguageId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Address": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "Vat": {
          "type": "string"
        },
        "CompanyRegistrationNumber": {
          "type": "string"
        },
        "DefaultDueDateInDays": {
          "format": "int32",
          "type": "integer"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "User": {
      "type": "object",
      "properties": {
        "Username": {
          "type": "string"
        },
        "Password": {
          "type": "string"
        },
        "PasswordSalt": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        },
        "Type": {
          "enum": [
            "Anonymous",
            "Customer",
            "SystemAdministrator",
            "Collaborator"
          ],
          "type": "string"
        },
        "Status": {
          "enum": [
            "Normal",
            "Fraudlent",
            "Locked"
          ],
          "type": "string"
        },
        "YearsOfExperience": {
          "enum": [
            "One",
            "OneToThree",
            "ThreeToFive",
            "SixPlus"
          ],
          "type": "string"
        },
        "IsVerified": {
          "type": "boolean"
        },
        "IsLocked": {
          "type": "boolean"
        },
        "HasBeenOnboarded": {
          "type": "boolean"
        },
        "VerifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "LastSeenOn": {
          "format": "date-time",
          "type": "string"
        },
        "ActionNotificationsLastReadOn": {
          "format": "date-time",
          "type": "string"
        },
        "KnowledgeNotificationsLastReadOn": {
          "format": "date-time",
          "type": "string"
        },
        "ReferralPath": {
          "type": "string"
        },
        "ReferrerKey": {
          "type": "string"
        },
        "ReferredUsers": {
          "format": "int32",
          "type": "integer"
        },
        "Settings": {
          "$ref": "#/definitions/UserSettings"
        },
        "SubscriptionPlan": {
          "$ref": "#/definitions/SubscriptionPlan"
        },
        "ExternalConnections": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalConnection"
          }
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Invoice": {
      "type": "object",
      "properties": {
        "ClientId": {
          "format": "int32",
          "type": "integer"
        },
        "ClonedFromId": {
          "format": "int32",
          "type": "integer"
        },
        "RecurringProfileId": {
          "format": "int32",
          "type": "integer"
        },
        "Number": {
          "type": "string"
        },
        "IssuedOn": {
          "format": "date-time",
          "type": "string"
        },
        "Duedate": {
          "format": "date-time",
          "type": "string"
        },
        "PoNumber": {
          "type": "string"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "type": "number"
        },
        "Terms": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Status": {
          "enum": [
            "Draft",
            "Paid",
            "Unpaid",
            "Overdue",
            "Void"
          ],
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "type": "integer"
        },
        "EnablePartialPayments": {
          "type": "boolean"
        },
        "AccessToken": {
          "type": "string"
        },
        "OrderId": {
          "format": "int32",
          "type": "integer"
        },
        "PaymentLinkId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimationId": {
          "format": "int32",
          "type": "integer"
        },
        "InvoiceCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceItem"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceAttachment"
          }
        },
        "Payments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Payment"
          }
        },
        "Activities": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Activity"
          }
        },
        "PaymentGateways": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentGatewayForInvoice"
          }
        },
        "ShouldSendReminders": {
          "type": "boolean"
        },
        "IsDigitallySigned": {
          "type": "boolean"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PaymentLinkItem": {
      "type": "object",
      "properties": {
        "PaymentLinkId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkType": {
          "$ref": "#/definitions/WorkType"
        },
        "Cost": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "type": "number"
        },
        "Tax": {
          "$ref": "#/definitions/Tax"
        },
        "TaxAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "type": "number"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Country": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "UiLanguage": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "UiCulture": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "AdditionalClientEmail": {
      "type": "object",
      "properties": {
        "Client": {
          "$ref": "#/definitions/Client"
        },
        "ClientId": {
          "format": "int32",
          "type": "integer"
        },
        "Email": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "UserSettings": {
      "type": "object",
      "properties": {
        "HasInvoiceLogo": {
          "type": "boolean"
        },
        "Profession": {
          "enum": [
            "Other",
            "DesignAndCreative",
            "SoftwareDevelopment",
            "ContentWritingAndMarketing",
            "Freelancers",
            "Consultants",
            "Smes",
            "Enterprise",
            "ECommerce",
            "Individual"
          ],
          "type": "string"
        },
        "YearsOfExperience": {
          "format": "int32",
          "type": "integer"
        },
        "BackgroundImage": {
          "type": "string"
        },
        "Currency": {
          "$ref": "#/definitions/Currency"
        },
        "CurrencyId": {
          "format": "int32",
          "type": "integer"
        },
        "CurrencySymbol": {
          "type": "string"
        },
        "Country": {
          "$ref": "#/definitions/Country"
        },
        "CountryId": {
          "format": "int32",
          "type": "integer"
        },
        "Address": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "SubscribeToProductEmails": {
          "type": "boolean"
        },
        "ReceiveSmsNotifications": {
          "type": "boolean"
        },
        "AccountantEmail": {
          "type": "string"
        },
        "VatNumber": {
          "type": "string"
        },
        "CompanyRegistrationNumber": {
          "type": "string"
        },
        "Terms": {
          "type": "string"
        },
        "DefaultDateFormat": {
          "type": "string"
        },
        "Bank": {
          "type": "string"
        },
        "BankAccount": {
          "type": "string"
        },
        "Iban": {
          "type": "string"
        },
        "Swift": {
          "type": "string"
        },
        "EnableRecurringInvoicing": {
          "type": "boolean"
        },
        "EnablePredictiveInvoicing": {
          "type": "boolean"
        },
        "EnableClientPortal": {
          "type": "boolean"
        },
        "DefaultDueDateInDays": {
          "format": "int32",
          "type": "integer"
        },
        "UserSignature": {
          "type": "string"
        },
        "InvoiceTemplate": {
          "enum": [
            "Default",
            "Template1",
            "Template2"
          ],
          "type": "string"
        },
        "InvoiceTemplateColorHex": {
          "type": "string"
        },
        "ReferralProgram": {
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string"
        },
        "ApiKey": {
          "type": "string"
        },
        "ApiSecret": {
          "type": "string"
        },
        "DoNotTrack": {
          "type": "boolean"
        },
        "StoreName": {
          "type": "string"
        },
        "StoreDescription": {
          "type": "string"
        },
        "StoreUrl": {
          "type": "string"
        },
        "StoreLanguage": {
          "$ref": "#/definitions/UiLanguage"
        },
        "StoreLanguageId": {
          "format": "int32",
          "type": "integer"
        },
        "StoreCurrency": {
          "$ref": "#/definitions/Currency"
        },
        "StoreCurrencyId": {
          "format": "int32",
          "type": "integer"
        },
        "StoreColorHex": {
          "type": "string"
        },
        "StoreTextColorHex": {
          "type": "string"
        },
        "StoreEmail": {
          "type": "string"
        },
        "StorePurchaseThankYouMessage": {
          "type": "string"
        },
        "StorePurchaseEmailMessage": {
          "type": "string"
        },
        "StoreCustomJavaScript": {
          "type": "string"
        },
        "StoreCheckoutFields": {
          "enum": [
            "ShowMinimumRequiredFields",
            "ShowAllFields"
          ],
          "type": "string"
        },
        "Cname": {
          "type": "string"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "SubscriptionPlan": {
      "type": "object",
      "properties": {
        "Identifier": {
          "type": "string"
        },
        "ExternalIdentifier": {
          "type": "string"
        },
        "Version": {
          "format": "int32",
          "type": "integer"
        },
        "OrderIdentifier": {
          "type": "string"
        },
        "SaleId": {
          "format": "int64",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "MaxClients": {
          "format": "int32",
          "type": "integer"
        },
        "Price": {
          "format": "double",
          "type": "number"
        },
        "CurrencyCode": {
          "type": "string"
        },
        "Recurrence": {
          "enum": [
            "Monthly",
            "Yearly"
          ],
          "type": "string"
        },
        "TrialStartsOn": {
          "format": "date-time",
          "type": "string"
        },
        "TrialEndsOn": {
          "format": "date-time",
          "type": "string"
        },
        "TrialNumberOfDays": {
          "format": "int32",
          "type": "integer"
        },
        "IsActive": {
          "type": "boolean"
        },
        "Status": {
          "enum": [
            "ActiveTrial",
            "ExpiredTrial",
            "Active",
            "Canceled",
            "Fraudlent"
          ],
          "type": "string"
        },
        "CancellatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "SystemCancelationReason": {
          "enum": [
            "FailToCaptureFee",
            "Fraud"
          ],
          "type": "string"
        },
        "LastPaymentOn": {
          "format": "date-time",
          "type": "string"
        },
        "HasDuePayment": {
          "type": "boolean"
        },
        "HasDuePaymentSince": {
          "format": "date-time",
          "type": "string"
        },
        "OnHold": {
          "type": "boolean"
        },
        "IsLifetime": {
          "type": "boolean"
        },
        "CouponCode": {
          "type": "string"
        },
        "Features": {
          "type": "array",
          "items": {
            "enum": [
              "Api",
              "Teams",
              "Clients",
              "Shop",
              "PaymentLinks",
              "Cname"
            ],
            "type": "string"
          }
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExternalConnection": {
      "type": "object",
      "properties": {
        "Provider": {
          "type": "string"
        },
        "AccessToken": {
          "type": "string"
        },
        "AccessTokenSecret": {
          "type": "string"
        },
        "ExternalUserId": {
          "type": "string"
        },
        "ExternalUsername": {
          "type": "string"
        },
        "Data": {
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "type": "string"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RecurringProfile": {
      "type": "object",
      "properties": {
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "Title": {
          "type": "string"
        },
        "RecurrancePattern": {
          "enum": [
            "Daily",
            "Weekly",
            "Monthly",
            "Yearly"
          ],
          "type": "string"
        },
        "RecurranceValue": {
          "format": "int32",
          "type": "integer"
        },
        "DayOfWeek": {
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string"
        },
        "DayOfMonth": {
          "format": "int32",
          "type": "integer"
        },
        "Month": {
          "format": "int32",
          "type": "integer"
        },
        "StartOfRecurrance": {
          "format": "date-time",
          "type": "string"
        },
        "EndOfRecurrance": {
          "format": "date-time",
          "type": "string"
        },
        "DueDateInDays": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "enum": [
            "Pending",
            "Active",
            "Cancelled",
            "Finished"
          ],
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "InvoiceItem": {
      "type": "object",
      "properties": {
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "Cost": {
          "format": "double",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "DiscountPercentage": {
          "format": "double",
          "type": "number"
        },
        "TaxId": {
          "format": "int32",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "type": "number"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "InvoiceAttachment": {
      "type": "object",
      "properties": {
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "Link": {
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "type": "integer"
        },
        "Type": {
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "type": "string"
        },
        "ObfuscatedFileName": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Payment": {
      "type": "object",
      "properties": {
        "Invoice": {
          "$ref": "#/definitions/Invoice"
        },
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "Note": {
          "type": "string"
        },
        "PaidOn": {
          "format": "date-time",
          "type": "string"
        },
        "Amount": {
          "format": "double",
          "type": "number"
        },
        "Type": {
          "enum": [
            "Other",
            "Paypal",
            "Stripe",
            "Payoneer",
            "Bank",
            "Cash",
            "Cheque",
            "Ach",
            "Sepa",
            "Square",
            "KlikAndPay",
            "Razorpay",
            "Wepay",
            "Halkbank",
            "TwoCheckout",
            "PaymentWall",
            "BamboraEU",
            "BamboraNA",
            "Nlb",
            "AuthorizeNet",
            "Braintree"
          ],
          "type": "string"
        },
        "IsAutomatic": {
          "type": "boolean"
        },
        "ReferenceId": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Activity": {
      "type": "object",
      "properties": {
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "InvoiceNumber": {
          "type": "string"
        },
        "EstimationId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimationNumber": {
          "type": "string"
        },
        "OrderId": {
          "format": "int32",
          "type": "integer"
        },
        "OrderNumber": {
          "type": "string"
        },
        "Type": {
          "enum": [
            "Created",
            "Draft",
            "Cloned",
            "SentViaEmail",
            "SentViaSms",
            "SentReminderViaEmail",
            "SentReminderViaSms",
            "Opened",
            "Viewed",
            "Rejected",
            "Updated",
            "Paid",
            "Unpaid",
            "Overdue",
            "NewManualPayment",
            "NewPaymentWithPaypal",
            "NewPaymentWithStripe",
            "NewPaymentWithPayoneer",
            "SentToAccountant",
            "DownloadedAsPdf",
            "MarkAsPaidByTheClient",
            "OpenedAttachment",
            "NewPaymentWithSquare",
            "NewPaymentWithKlikAndPay",
            "NewPaymentWithRazorpay",
            "NewPaymentWithWepay",
            "NewPaymentWithHalkbank",
            "ChangeStatus",
            "OrderUpdated",
            "OrderCreated",
            "NewPaymentWithTwoCheckout",
            "NewPaymentWithPaymentWall",
            "NewPaymentWithBamboraEU",
            "NewPaymentWithBamboraNA",
            "Void",
            "NewPaymentWithNlb",
            "NewPaymentWithAuthorizeNet",
            "NewPaymentWithBraintree",
            "EstimationCreated",
            "EstimationDraft",
            "EstimationCloned",
            "EstimationSentViaEmail",
            "EstimationOpened",
            "EstimationViewed",
            "EstimationAccepted",
            "EstimationRejected",
            "EstimationUpdated",
            "EstimationDownloadedAsPdf",
            "InvoiceDigitallySigned"
          ],
          "type": "string"
        },
        "Message": {
          "type": "string"
        },
        "Link": {
          "type": "string"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "QueuedInvoice": {
      "type": "object",
      "properties": {
        "ClonedFromId": {
          "format": "int32",
          "type": "integer"
        },
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "Invoice": {
          "$ref": "#/definitions/Invoice"
        },
        "RecurringProfileId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "enum": [
            "Pending",
            "Cancelled",
            "Failed",
            "Processed"
          ],
          "type": "string"
        },
        "ScheduledFor": {
          "format": "date-time",
          "type": "string"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PaymentGatewayForInvoice": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "InvoiceMessage": {
      "type": "object",
      "properties": {
        "InvoiceId": {
          "format": "int32",
          "type": "integer"
        },
        "Message": {
          "type": "string"
        },
        "Subject": {
          "type": "string"
        },
        "Type": {
          "enum": [
            "SendInvoice",
            "SendInvoiceReminder"
          ],
          "type": "string"
        },
        "SendToSelf": {
          "type": "boolean"
        },
        "AttachPdf": {
          "type": "boolean"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "WorkType": {
      "type": "object",
      "properties": {
        "Title": {
          "type": "string"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Tax": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Percentage": {
          "format": "double",
          "type": "number"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "Id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PaymentGateway": {
      "type": "object",
      "properties": {
        "ExternalConnectionId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "ConnectionType": {
          "enum": [
            "OAuth",
            "InputFields",
            "Dropdown"
          ],
          "type": "string"
        },
        "CanDisconnect": {
          "type": "boolean"
        },
        "SupportsRefund": {
          "type": "boolean"
        },
        "SupportsClientsImport": {
          "type": "boolean"
        },
        "SupportsInstantCheckout": {
          "type": "boolean"
        },
        "OAuthUri": {
          "type": "string"
        },
        "RefundUri": {
          "type": "string"
        },
        "ClientImportUri": {
          "type": "string"
        },
        "SupportedCurrencies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Currency"
          }
        },
        "MinimumAmount": {
          "format": "double",
          "type": "number"
        },
        "MaximumAmount": {
          "format": "double",
          "type": "number"
        },
        "Fields": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentGatewayInputField"
          }
        },
        "IsConnected": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        }
      }
    },
    "PaymentGatewayInputField": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Type": {
          "enum": [
            "Input",
            "Dropdown",
            "HiddenInput"
          ],
          "type": "string"
        },
        "Values": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "IsConfigurable": {
          "type": "boolean"
        }
      }
    },
    "ListResult[ProductDetailsApiModel]": {
      "type": "object",
      "properties": {
        "TotalCount": {
          "format": "int32",
          "type": "integer"
        },
        "Count": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductDetailsApiModel"
          }
        },
        "IsFaulted": {
          "type": "boolean"
        },
        "ErrorMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IErrorInfo"
          }
        }
      }
    },
    "ProductDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "ButtonCallToAction": {
          "description": "Default button call to action\r\nEx: Buy now, subscribe, ...",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "IsFeatured": {
          "description": "Indicate that the product is set as featured",
          "type": "boolean"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this product"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "AccessToken": {
          "description": "Product short link",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "Status": {
          "description": "Product availability status",
          "enum": [
            "Active",
            "NotAvailable",
            "Inactive"
          ],
          "type": "string"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Subtotal amount of product",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of product",
          "type": "number"
        },
        "TotalWithShipping": {
          "format": "double",
          "description": "Total amount of product with shipping",
          "type": "number"
        }
      }
    },
    "ProductCreateApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "ButtonCallToAction": {
          "description": "Default button call to action\r\nEx: Buy now, subscribe, ...",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "IsFeatured": {
          "description": "Indicate that the product is set as featured",
          "type": "boolean"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "Status": {
          "description": "Product availability status",
          "enum": [
            "Active",
            "NotAvailable",
            "Inactive"
          ],
          "type": "string"
        },
        "Items": {
          "description": "List of product items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductItemApiModel"
          }
        },
        "Discounts": {
          "description": "List of product discounts",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductDiscountApiModel"
          }
        },
        "Coupons": {
          "description": "List of product coupons",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductCouponApiModel"
          }
        },
        "Attachments": {
          "description": "List of product attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductAttachmentApiModel"
          }
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this product",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductGatewayApiModel"
          }
        }
      }
    },
    "ProductItemApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product item id",
          "type": "integer"
        },
        "WorkTypeId": {
          "format": "int32",
          "description": "Foreign key work type id",
          "type": "integer"
        },
        "TaxId": {
          "format": "int32",
          "description": "Foreign key Tax id",
          "type": "integer"
        },
        "TaxPercentage": {
          "format": "double",
          "description": "Tax percentage",
          "type": "number"
        },
        "TaxAmount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "Cost": {
          "format": "double",
          "description": "Work item cost",
          "type": "number"
        },
        "Description": {
          "description": "General description",
          "type": "string"
        },
        "ReferenceId": {
          "description": "Product SKU",
          "type": "string"
        },
        "MinimumQuantity": {
          "format": "double",
          "description": "Minimum required quantity in order to buy a work item",
          "type": "number"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Subtotal amount of product",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of product",
          "type": "number"
        }
      }
    },
    "ProductDiscountApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product discount id",
          "type": "integer"
        },
        "ValidFrom": {
          "format": "date-time",
          "description": "Discount start date",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "description": "Discount expiration date",
          "type": "string"
        },
        "Name": {
          "description": "Name",
          "type": "string"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Discount amount",
          "type": "number"
        }
      }
    },
    "ProductCouponApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product coupon id",
          "type": "integer"
        },
        "Code": {
          "description": "Coupon to apply in order to get the discount",
          "type": "string"
        },
        "ValidUntil": {
          "format": "date-time",
          "description": "Coupon expiration date",
          "type": "string"
        },
        "DiscountPercentage": {
          "format": "double",
          "description": "Discount percentage",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Discount amount",
          "type": "number"
        }
      }
    },
    "ProductAttachmentApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product attachment id",
          "type": "integer"
        },
        "Link": {
          "description": "Link to the file",
          "type": "string"
        },
        "Size": {
          "format": "int64",
          "description": "File size number in bytes",
          "type": "integer"
        },
        "Type": {
          "description": "Type of the link (Attached or external)",
          "enum": [
            "External",
            "Uploaded"
          ],
          "type": "string"
        },
        "OriginalFileName": {
          "description": "Name of the file",
          "type": "string"
        },
        "ObfuscatedFileName": {
          "description": "Hashed file name to avoid url wildguessing",
          "type": "string"
        }
      }
    },
    "ProductGatewayApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Payment gateway name",
          "type": "string"
        }
      }
    },
    "ProductUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "ButtonCallToAction": {
          "description": "Default button call to action\r\nEx: Buy now, subscribe, ...",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "IsFeatured": {
          "description": "Indicate that the product is set as featured",
          "type": "boolean"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "Status": {
          "description": "Product availability status",
          "enum": [
            "Active",
            "NotAvailable",
            "Inactive"
          ],
          "type": "string"
        },
        "Items": {
          "description": "List of product items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductItemApiModel"
          }
        },
        "Discounts": {
          "description": "List of product discounts",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductDiscountApiModel"
          }
        },
        "Coupons": {
          "description": "List of product coupons",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductCouponApiModel"
          }
        },
        "Attachments": {
          "description": "List of product attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductAttachmentApiModel"
          }
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this product",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductGatewayApiModel"
          }
        }
      }
    },
    "ProductDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of product to be deleted",
          "type": "integer"
        }
      }
    },
    "ProductFullDetailsApiModel": {
      "type": "object",
      "properties": {
        "Items": {
          "description": "List of product items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductItemApiModel"
          }
        },
        "Discounts": {
          "description": "List of product discounts",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductDiscountApiModel"
          }
        },
        "Coupons": {
          "description": "List of product coupons",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductCouponApiModel"
          }
        },
        "Attachments": {
          "description": "List of product attachments",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductAttachmentApiModel"
          }
        },
        "PaymentGateways": {
          "description": "List of enabled payment gateways for this product",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductGatewayApiModel"
          }
        },
        "Id": {
          "format": "int32",
          "description": "Product id",
          "type": "integer"
        },
        "Name": {
          "description": "Product alias",
          "type": "string"
        },
        "Description": {
          "description": "Product description",
          "type": "string"
        },
        "ButtonCallToAction": {
          "description": "Default button call to action\r\nEx: Buy now, subscribe, ...",
          "type": "string"
        },
        "CurrencyId": {
          "format": "int32",
          "description": "Foreign key Currency",
          "type": "integer"
        },
        "IsFeatured": {
          "description": "Indicate that the product is set as featured",
          "type": "boolean"
        },
        "Currency": {
          "$ref": "#/definitions/CurrencyDetailsApiModel",
          "description": "The currency related to this product"
        },
        "ShippingAmount": {
          "format": "double",
          "description": "Cost for shipping the product",
          "type": "number"
        },
        "ShippingDescription": {
          "description": "Client instructions for shipping",
          "type": "string"
        },
        "AccessToken": {
          "description": "Product short link",
          "type": "string"
        },
        "WhatHappensNextDescription": {
          "description": "What happens next description",
          "type": "string"
        },
        "AfterPaymentDescription": {
          "description": "After payment description",
          "type": "string"
        },
        "Status": {
          "description": "Product availability status",
          "enum": [
            "Active",
            "NotAvailable",
            "Inactive"
          ],
          "type": "string"
        },
        "SubTotalAmount": {
          "format": "double",
          "description": "Subtotal amount of product",
          "type": "number"
        },
        "TotalAmount": {
          "format": "double",
          "description": "Total amount of product",
          "type": "number"
        },
        "TotalWithShipping": {
          "format": "double",
          "description": "Total amount of product with shipping",
          "type": "number"
        }
      }
    },
    "TaxDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "CreatedOn": {
          "format": "date-time",
          "description": "Date of creation",
          "type": "string"
        },
        "Name": {
          "description": "Name of the task",
          "type": "string"
        },
        "Percentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "TaxCreateApiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "description": "Name of the task",
          "type": "string"
        },
        "Percentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "TaxUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Name": {
          "description": "Name of the task",
          "type": "string"
        },
        "Percentage": {
          "format": "double",
          "description": "Task percentage. Ex: 18%",
          "type": "number"
        }
      }
    },
    "TaxDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of tax to be deleted",
          "type": "integer"
        }
      }
    },
    "WorkTypeDetailsApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "CreatedOn": {
          "format": "date-time",
          "description": "Date of creation",
          "type": "string"
        },
        "Title": {
          "description": "Indicates the title of of the work type (Logo design, development...)",
          "type": "string"
        }
      }
    },
    "SearchRequest": {
      "type": "object",
      "properties": {
        "Query": {
          "type": "string"
        },
        "OrderBy": {
          "type": "string"
        },
        "Order": {
          "enum": [
            "None",
            "Asc",
            "Desc"
          ],
          "type": "string"
        },
        "Page": {
          "format": "int32",
          "type": "integer"
        },
        "PageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "WorkTypeCreateApiModel": {
      "type": "object",
      "properties": {
        "Title": {
          "description": "Indicates the title of of the work type (Logo design, development...)",
          "type": "string"
        }
      }
    },
    "WorkTypeUpdateApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Entity id",
          "type": "integer"
        },
        "Title": {
          "description": "Indicates the title of of the work type (Logo design, development...)",
          "type": "string"
        }
      }
    },
    "WorkTypeDeleteApiModel": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "int32",
          "description": "Id of work type to be deleted",
          "type": "integer"
        }
      }
    }
  },
  "securityDefinitions": {
    "x-auth-key": {
      "type": "apiKey",
      "description": "Your account API key. Can be retrieved from your [account settings](/account/settings#api-tab).",
      "name": "x-auth-key",
      "in": "header"
    },
    "x-auth-secret": {
      "type": "apiKey",
      "description": "Your account API secret. Can be retrieved from your [account settings](/account/settings#api-tab). Keep it hidden.",
      "name": "x-auth-secret",
      "in": "header"
    }
  }
}