{
    "openapi": "3.0.0",
    "info": {
        "title": "Invoice Ninja",
        "description": "Invoice Ninja. Open Source Invoicing lives here. ",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "email": "contact@invoiceninja.com"
        },
        "license": {
            "name": "Attribution Assurance License",
            "url": "https://opensource.org/licenses/AAL"
        },
        "version": "1.0.30"
    },
    "servers": [
        {
            "url": "https://virtserver.swaggerhub.com/InvoiceNinja/invoices/1.0.30",
            "description": "InvoiceNinja host"
        }
    ],
    "paths": {
        "/api/v1/signup": {
            "post": {
                "tags": [
                    "signup"
                ],
                "summary": "Attempts a new account signup",
                "description": "Attempts a new account signup and returns a CompanyUser object on success",
                "operationId": "postSignup",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    }
                ],
                "requestBody": {
                    "description": "Signup credentials",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "The user email address",
                                        "type": "string"
                                    },
                                    "first_name": {
                                        "description": "The signup users first name",
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "description": "The signup users last name",
                                        "type": "string"
                                    },
                                    "terms_of_service": {
                                        "description": "The user accepted the terms of service",
                                        "type": "boolean"
                                    },
                                    "privacy_policy": {
                                        "description": "The user accepted the privacy policy",
                                        "type": "boolean"
                                    },
                                    "password": {
                                        "description": "The user password must meet minimum criteria ~ >6 characters",
                                        "type": "string",
                                        "example": "1234567"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Company User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyUser"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reset_password": {
            "post": {
                "tags": [
                    "reset_password"
                ],
                "summary": "Attempts to reset the users password",
                "description": "Resets a users email password",
                "operationId": "reset_password",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    }
                ],
                "requestBody": {
                    "description": "Password reset email",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "The user email address",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "The Reset response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "type": "string",
                                        "example": "Reset link send to your email."
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "type": "string",
                                        "example": "Unable to send password reset link"
                                    }
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/login": {
            "post": {
                "tags": [
                    "login"
                ],
                "summary": "Attempts authentication",
                "description": "Returns a CompanyUser object on success",
                "operationId": "postLogin",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "$ref": "#/components/parameters/include_static"
                    },
                    {
                        "$ref": "#/components/parameters/clear_cache"
                    }
                ],
                "requestBody": {
                    "description": "User credentials",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "The user email address",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "The user password must meet minimum criteria ~ >6 characters",
                                        "type": "string",
                                        "example": "1234567"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Company User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyUser"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/refresh": {
            "post": {
                "tags": [
                    "refresh"
                ],
                "summary": "Refreshes the dataset",
                "description": "Refreshes the dataset",
                "operationId": "refresh",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "$ref": "#/components/parameters/include_static"
                    },
                    {
                        "$ref": "#/components/parameters/clear_cache"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Company User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyUser"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/clients": {
            "get": {
                "tags": [
                    "clients"
                ],
                "summary": "Gets a list of clients",
                "description": "Lists clients, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the clients, these are handled by the ClientFilters class which defines the methods available",
                "operationId": "getClients",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of clients",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "clients"
                ],
                "summary": "Adds a company",
                "description": "Adds an company to the system",
                "operationId": "storeClient",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/clients/{id}": {
            "get": {
                "tags": [
                    "clients"
                ],
                "summary": "Shows an company",
                "description": "Displays an company by id",
                "operationId": "showClient",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Client Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "clients"
                ],
                "summary": "Updates an company",
                "description": "Handles the updating of an company by id",
                "operationId": "updateClient",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Client Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "clients"
                ],
                "summary": "Deletes a company",
                "description": "Handles the deletion of an company by id",
                "operationId": "deleteClient",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Client Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/clients/{id}/edit": {
            "get": {
                "tags": [
                    "clients"
                ],
                "summary": "Shows an company for editting",
                "description": "Displays an company by id",
                "operationId": "editClient",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Client Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/clients/create": {
            "get": {
                "tags": [
                    "clients"
                ],
                "summary": "Gets a new blank company object",
                "description": "Returns a blank object with default values",
                "operationId": "getClientsCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/clients/bulk": {
            "post": {
                "tags": [
                    "clients"
                ],
                "summary": "Performs bulk actions on an array of clients",
                "description": "",
                "operationId": "bulkClients",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "User credentials",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Client User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Client"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/companies": {
            "get": {
                "tags": [
                    "companies"
                ],
                "summary": "Gets a list of companies",
                "description": "Lists companies, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the companies, these are handled by the CompanyFilters class which defines the methods available",
                "operationId": "getCompanies",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of companies",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "companies"
                ],
                "summary": "Adds a company",
                "description": "Adds an company to the system",
                "operationId": "storeCompany",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/companies/create": {
            "get": {
                "tags": [
                    "companies"
                ],
                "summary": "Gets a new blank company object",
                "description": "Returns a blank object with default values",
                "operationId": "getCompaniesCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/companies/{id}": {
            "get": {
                "tags": [
                    "companies"
                ],
                "summary": "Shows an company",
                "description": "Displays an company by id",
                "operationId": "showCompany",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Company Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "companies"
                ],
                "summary": "Updates an company",
                "description": "Handles the updating of an company by id",
                "operationId": "updateCompany",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Company Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "companies"
                ],
                "summary": "Deletes a company",
                "description": "Handles the deletion of an company by id",
                "operationId": "deleteCompany",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Company Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/companies/{id}/edit": {
            "get": {
                "tags": [
                    "companies"
                ],
                "summary": "Shows an company for editting",
                "description": "Displays an company by id",
                "operationId": "editCompany",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Company Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the company object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Company"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/company_gateways": {
            "get": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Gets a list of company_gateways",
                "description": "Lists company_gateways, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the company_gateways, these are handled by the CompanyGatewayFilters class which defines the methods available",
                "operationId": "getCompanyGateways",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of company_gateways",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Adds a CompanyGateway",
                "description": "Adds an CompanyGateway to the system",
                "operationId": "storeCompanyGateway",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved CompanyGateway object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/company_gateways/create": {
            "get": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Gets a new blank CompanyGateway object",
                "description": "Returns a blank object with default values",
                "operationId": "getCompanyGatewaysCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank CompanyGateway object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/company_gateways/{id}": {
            "get": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Shows an CompanyGateway",
                "description": "Displays an CompanyGateway by id",
                "operationId": "showCompanyGateway",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The CompanyGateway Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the CompanyGateway object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Updates an CompanyGateway",
                "description": "Handles the updating of an CompanyGateway by id",
                "operationId": "updateCompanyGateway",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The CompanyGateway Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the CompanyGateway object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Deletes a CompanyGateway",
                "description": "Handles the deletion of an CompanyGateway by id",
                "operationId": "deleteCompanyGateway",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The CompanyGateway Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/company_gateways/{id}/edit": {
            "get": {
                "tags": [
                    "company_gateways"
                ],
                "summary": "Shows an CompanyGateway for editting",
                "description": "Displays an CompanyGateway by id",
                "operationId": "editCompanyGateway",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The CompanyGateway Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the CompanyGateway object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyGateway"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/group_settings": {
            "get": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Gets a list of group_settings",
                "description": "Lists group_settings, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the group_settings, these are handled by the GroupSettingFilters class which defines the methods available",
                "operationId": "getGroupSettings",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of group_settings",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Adds a GroupSetting",
                "description": "Adds an GroupSetting to the system",
                "operationId": "storeGroupSetting",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved GroupSetting object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/group_settings/create": {
            "get": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Gets a new blank GroupSetting object",
                "description": "Returns a blank object with default values",
                "operationId": "getGroupSettingsCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank GroupSetting object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/group_settings/{id}": {
            "get": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Shows an GroupSetting",
                "description": "Displays an GroupSetting by id",
                "operationId": "showGroupSetting",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The GroupSetting Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the GroupSetting object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Updates an GroupSetting",
                "description": "Handles the updating of an GroupSetting by id",
                "operationId": "updateGroupSetting",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The GroupSetting Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the GroupSetting object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Deletes a GroupSetting",
                "description": "Handles the deletion of an GroupSetting by id",
                "operationId": "deleteGroupSetting",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The GroupSetting Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/group_settings/{id}/edit": {
            "get": {
                "tags": [
                    "group_settings"
                ],
                "summary": "Shows an GroupSetting for editting",
                "description": "Displays an GroupSetting by id",
                "operationId": "editGroupSetting",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The GroupSetting Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the GroupSetting object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GroupSetting"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices": {
            "get": {
                "tags": [
                    "invoices"
                ],
                "summary": "Gets a list of invoices",
                "description": "Lists invoices, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the invoices, these are handled by the InvoiceFilters class which defines the methods available",
                "operationId": "getInvoices",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of invoices",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "invoices"
                ],
                "summary": "Adds a invoice",
                "description": "Adds an invoice to the system",
                "operationId": "storeInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices/create": {
            "get": {
                "tags": [
                    "invoices"
                ],
                "summary": "Gets a new blank invoice object",
                "description": "Returns a blank object with default values",
                "operationId": "getInvoicesCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices/{id}": {
            "get": {
                "tags": [
                    "invoices"
                ],
                "summary": "Shows an invoice",
                "description": "Displays an invoice by id",
                "operationId": "showInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Invoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "invoices"
                ],
                "summary": "Updates an invoice",
                "description": "Handles the updating of an invoice by id",
                "operationId": "updateInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Invoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "invoices"
                ],
                "summary": "Deletes a invoice",
                "description": "Handles the deletion of an invoice by id",
                "operationId": "deleteInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Invoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices/{id}/edit": {
            "get": {
                "tags": [
                    "invoices"
                ],
                "summary": "Shows an invoice for editting",
                "description": "Displays an invoice by id",
                "operationId": "editInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Invoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices/bulk": {
            "post": {
                "tags": [
                    "invoices"
                ],
                "summary": "Performs bulk actions on an array of invoices",
                "description": "",
                "operationId": "bulkInvoices",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "User credentials",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Company User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CompanyUser"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invoices/{id}/{action}": {
            "get": {
                "tags": [
                    "invoices"
                ],
                "summary": "Performs a custom action on an invoice",
                "description": "Performs a custom action on an invoice.\n        \n        The current range of actions are as follows\n        - clone_to_invoice\n        - clone_to_quote\n        - history\n        - delivery_note\n        - mark_paid\n        - download\n        - archive\n        - delete\n        - email",
                "operationId": "actionInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Invoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "description": "The action string to be performed",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "clone_to_quote"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the invoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Invoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments": {
            "get": {
                "tags": [
                    "payments"
                ],
                "summary": "Gets a list of payments",
                "description": "Lists payments, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the payments, these are handled by the PaymentFilters class which defines the methods available",
                "operationId": "getPayments",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of payments",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "payments"
                ],
                "summary": "Adds a Payment",
                "description": "Adds an Payment to the system",
                "operationId": "storePayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/create": {
            "get": {
                "tags": [
                    "payments"
                ],
                "summary": "Gets a new blank Payment object",
                "description": "Returns a blank object with default values",
                "operationId": "getPaymentsCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/{id}": {
            "get": {
                "tags": [
                    "payments"
                ],
                "summary": "Shows an Payment",
                "description": "Displays an Payment by id",
                "operationId": "showPayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Payment Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "payments"
                ],
                "summary": "Updates an Payment",
                "description": "Handles the updating of an Payment by id",
                "operationId": "updatePayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Payment Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "payments"
                ],
                "summary": "Deletes a Payment",
                "description": "Handles the deletion of an Payment by id",
                "operationId": "deletePayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Payment Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/{id}/edit": {
            "get": {
                "tags": [
                    "payments"
                ],
                "summary": "Shows an Payment for editting",
                "description": "Displays an Payment by id",
                "operationId": "editPayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Payment Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/bulk": {
            "post": {
                "tags": [
                    "payments"
                ],
                "summary": "Performs bulk actions on an array of payments",
                "description": "",
                "operationId": "bulkPayments",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "User credentials",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Payment response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/{id}/{action}": {
            "get": {
                "tags": [
                    "payments"
                ],
                "summary": "Performs a custom action on an Payment",
                "description": "Performs a custom action on an Payment.\n        \n        The current range of actions are as follows\n        - clone_to_Payment\n        - clone_to_quote\n        - history\n        - delivery_note\n        - mark_paid\n        - download\n        - archive\n        - delete\n        - email",
                "operationId": "actionPayment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Payment Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "description": "The action string to be performed",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "clone_to_quote"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Payment object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Gets a list of products",
                "description": "Lists products, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the products, these are handled by the ProductFilters class which defines the methods available",
                "operationId": "getProducts",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of products",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "products"
                ],
                "summary": "Adds a Product",
                "description": "Adds an Product to the system",
                "operationId": "storeProduct",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved Product object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products/create": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Gets a new blank Product object",
                "description": "Returns a blank object with default values",
                "operationId": "getProductsCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank Product object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products/{id}": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Shows an Product",
                "description": "Displays an Product by id",
                "operationId": "showProduct",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Product Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Product object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "products"
                ],
                "summary": "Updates an Product",
                "description": "Handles the updating of an Product by id",
                "operationId": "updateProduct",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Product Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Product object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "products"
                ],
                "summary": "Deletes a Product",
                "description": "Handles the deletion of an Product by id",
                "operationId": "deleteProduct",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Product Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products/{id}/edit": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Shows an Product for editting",
                "description": "Displays an Product by id",
                "operationId": "editProduct",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Product Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Product object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products/bulk": {
            "post": {
                "tags": [
                    "products"
                ],
                "summary": "Performs bulk actions on an array of products",
                "description": "",
                "operationId": "bulkProducts",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "Hashed IDs",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Product response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes": {
            "get": {
                "tags": [
                    "quotes"
                ],
                "summary": "Gets a list of quotes",
                "description": "Lists quotes, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the quotes, these are handled by the QuoteFilters class which defines the methods available",
                "operationId": "getQuotes",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of quotes",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "quotes"
                ],
                "summary": "Adds a Quote",
                "description": "Adds an Quote to the system",
                "operationId": "storeQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes/create": {
            "get": {
                "tags": [
                    "quotes"
                ],
                "summary": "Gets a new blank Quote object",
                "description": "Returns a blank object with default values",
                "operationId": "getQuotesCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes/{id}": {
            "get": {
                "tags": [
                    "quotes"
                ],
                "summary": "Shows an Quote",
                "description": "Displays an Quote by id",
                "operationId": "showQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Quote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "quotes"
                ],
                "summary": "Updates an Quote",
                "description": "Handles the updating of an Quote by id",
                "operationId": "updateQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Quote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "quotes"
                ],
                "summary": "Deletes a Quote",
                "description": "Handles the deletion of an Quote by id",
                "operationId": "deleteQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Quote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes/{id}/edit": {
            "get": {
                "tags": [
                    "quotes"
                ],
                "summary": "Shows an Quote for editting",
                "description": "Displays an Quote by id",
                "operationId": "editQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Quote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes/bulk": {
            "post": {
                "tags": [
                    "quotes"
                ],
                "summary": "Performs bulk actions on an array of quotes",
                "description": "",
                "operationId": "bulkQuotes",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "Hashed ids",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The Quote response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quotes/{id}/{action}": {
            "get": {
                "tags": [
                    "quotes"
                ],
                "summary": "Performs a custom action on an Quote",
                "description": "Performs a custom action on an Quote.\n        \n        The current range of actions are as follows\n        - clone_to_Quote\n        - clone_to_quote\n        - history\n        - delivery_note\n        - mark_paid\n        - download\n        - archive\n        - delete\n        - email",
                "operationId": "actionQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The Quote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "description": "The action string to be performed",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "clone_to_quote"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the Quote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Quote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices": {
            "get": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Gets a list of recurring_invoices",
                "description": "Lists recurring_invoices, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the recurring_invoices, these are handled by the RecurringInvoiceFilters class which defines the methods available",
                "operationId": "getRecurringInvoices",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of recurring_invoices",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Adds a RecurringInvoice",
                "description": "Adds an RecurringInvoice to the system",
                "operationId": "storeRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices/create": {
            "get": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Gets a new blank RecurringInvoice object",
                "description": "Returns a blank object with default values",
                "operationId": "getRecurringInvoicesCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices/{id}": {
            "get": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Shows an RecurringInvoice",
                "description": "Displays an RecurringInvoice by id",
                "operationId": "showRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringInvoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Updates an RecurringInvoice",
                "description": "Handles the updating of an RecurringInvoice by id",
                "operationId": "updateRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringInvoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Deletes a RecurringInvoice",
                "description": "Handles the deletion of an RecurringInvoice by id",
                "operationId": "deleteRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringInvoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices/{id}/edit": {
            "get": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Shows an RecurringInvoice for editting",
                "description": "Displays an RecurringInvoice by id",
                "operationId": "editRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringInvoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices/bulk": {
            "post": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Performs bulk actions on an array of recurring_invoices",
                "description": "",
                "operationId": "bulkRecurringInvoices",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "Hashed IDs",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The RecurringInvoice response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_invoices/{id}/{action}": {
            "get": {
                "tags": [
                    "recurring_invoices"
                ],
                "summary": "Performs a custom action on an RecurringInvoice",
                "description": "Performs a custom action on an RecurringInvoice.\n        \n        The current range of actions are as follows\n        - clone_to_RecurringInvoice\n        - clone_to_quote\n        - history\n        - delivery_note\n        - mark_paid\n        - download\n        - archive\n        - delete\n        - email",
                "operationId": "actionRecurringInvoice",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringInvoice Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "description": "The action string to be performed",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "clone_to_quote"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringInvoice object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringInvoice"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes": {
            "get": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Gets a list of recurring_quotes",
                "description": "Lists recurring_quotes, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the recurring_quotes, these are handled by the RecurringQuoteFilters class which defines the methods available",
                "operationId": "getRecurringQuotes",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of recurring_quotes",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Adds a RecurringQuote",
                "description": "Adds an RecurringQuote to the system",
                "operationId": "storeRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes/create": {
            "get": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Gets a new blank RecurringQuote object",
                "description": "Returns a blank object with default values",
                "operationId": "getRecurringQuotesCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes/{id}": {
            "get": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Shows an RecurringQuote",
                "description": "Displays an RecurringQuote by id",
                "operationId": "showRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringQuote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Updates an RecurringQuote",
                "description": "Handles the updating of an RecurringQuote by id",
                "operationId": "updateRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringQuote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Deletes a RecurringQuote",
                "description": "Handles the deletion of an RecurringQuote by id",
                "operationId": "deleteRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringQuote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes/{id}/edit": {
            "get": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Shows an RecurringQuote for editting",
                "description": "Displays an RecurringQuote by id",
                "operationId": "editRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringQuote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes/bulk": {
            "post": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Performs bulk actions on an array of recurring_quotes",
                "description": "",
                "operationId": "bulkRecurringQuotes",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "Hashed ids",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The RecurringQuote response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recurring_quotes/{id}/{action}": {
            "get": {
                "tags": [
                    "recurring_quotes"
                ],
                "summary": "Performs a custom action on an RecurringQuote",
                "description": "Performs a custom action on an RecurringQuote.\n        \n        The current range of actions are as follows\n        - clone_to_RecurringQuote\n        - clone_to_quote\n        - history\n        - delivery_note\n        - mark_paid\n        - download\n        - archive\n        - delete\n        - email",
                "operationId": "actionRecurringQuote",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The RecurringQuote Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "description": "The action string to be performed",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "clone_to_quote"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the RecurringQuote object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RecurringQuote"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/users": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Gets a list of users",
                "description": "Lists users, search and filters allow fine grained lists to be generated.\n\n        Query parameters can be added to performed more fine grained filtering of the users, these are handled by the UserFilters class which defines the methods available",
                "operationId": "getUsers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of users",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Adds a User",
                "description": "Adds an User to the system",
                "operationId": "storeUser",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the saved User object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/users/create": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Gets a new blank User object",
                "description": "Returns a blank object with default values",
                "operationId": "getUsersCreate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A blank User object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/users/{id}": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Shows an User",
                "description": "Displays an User by id",
                "operationId": "showUser",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The User Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the User object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "users"
                ],
                "summary": "Updates an User",
                "description": "Handles the updating of an User by id",
                "operationId": "updateUser",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The User Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the User object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "users"
                ],
                "summary": "Deletes a User",
                "description": "Handles the deletion of an User by id",
                "operationId": "deleteUser",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The User Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a HTTP status",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/users/{id}/edit": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Shows an User for editting",
                "description": "Displays an User by id",
                "operationId": "editUser",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The User Hashed ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "string"
                        },
                        "example": "D2J234DFA"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the User object",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/users/bulk": {
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Performs bulk actions on an array of users",
                "description": "",
                "operationId": "bulkUsers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/X-Api-Secret"
                    },
                    {
                        "$ref": "#/components/parameters/X-Api-Token"
                    },
                    {
                        "$ref": "#/components/parameters/X-Requested-With"
                    },
                    {
                        "$ref": "#/components/parameters/index"
                    }
                ],
                "requestBody": {
                    "description": "Hashed ids",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "Array of hashed IDs to be bulk 'actioned",
                                    "type": "integer",
                                    "example": "[0,1,2,3]"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The User response",
                        "headers": {
                            "X-API-Version": {
                                "$ref": "#/components/headers/X-API-Version"
                            },
                            "X-RateLimit-Remaining": {
                                "$ref": "#/components/headers/X-RateLimit-Remaining"
                            },
                            "X-RateLimit-Limit": {
                                "$ref": "#/components/headers/X-RateLimit-Limit"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Account": {
                "properties": {
                    "id": {
                        "description": "The account hashed id",
                        "type": "string",
                        "example": "AS3df3A"
                    }
                },
                "type": "object"
            },
            "Activity": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "activity_type_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "client_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "company_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "user_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "invoice_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "payment_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "credit_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "updated_at": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "expense_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "is_system": {
                        "description": "______",
                        "type": "boolean",
                        "example": true
                    },
                    "contact_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "task_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "notes": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "ip": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    }
                },
                "type": "object"
            },
            "BulkAction": {
                "type": "array",
                "items": {
                    "type": "integer",
                    "example": "[0,1,2,3,]"
                }
            },
            "ClientContact": {
                "properties": {
                    "id": {
                        "description": "_________",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "user_id": {
                        "description": "__________",
                        "type": "string",
                        "example": ""
                    },
                    "company_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "client_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "first_name": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "last_name": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "phone": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value3": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value4": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "email": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "accepted_terms_version": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "password": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "confirmation-code": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "token": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "is_primary": {
                        "description": "________",
                        "type": "boolean",
                        "example": true
                    },
                    "confirmed": {
                        "description": "________",
                        "type": "boolean",
                        "example": true
                    },
                    "is_locked": {
                        "description": "________",
                        "type": "boolean",
                        "example": true
                    },
                    "failed_logins": {
                        "description": "________",
                        "type": "number",
                        "format": "integer",
                        "example": "3"
                    },
                    "email_verified_at": {
                        "description": "________",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "paid_to_date": {
                        "description": "________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "last_login": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "created_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "updated_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "deleted_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    }
                },
                "type": "object"
            },
            "ClientGatewayToken": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "company_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "client_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "token": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "company_gateway_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "is_default": {
                        "description": "______",
                        "type": "boolean",
                        "example": "true"
                    }
                },
                "type": "object"
            },
            "Client": {
                "properties": {
                    "id": {
                        "description": "_________",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "user_id": {
                        "description": "__________",
                        "type": "string",
                        "example": ""
                    },
                    "company_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "client_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "contacts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClientContact"
                        }
                    },
                    "name": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "website": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "private_notes": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "client_hash": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "industry_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "size_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "address1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "address2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "city": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "state": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "postal_code": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "country_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value3": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value4": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "vat_number": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "id_number": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_address1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_address2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_city": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_state": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_postal_code": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "shipping_country_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "is_deleted": {
                        "description": "________",
                        "type": "boolean",
                        "example": true
                    },
                    "balance": {
                        "description": "________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "paid_to_date": {
                        "description": "________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "last_login": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "created_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "updated_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "134341234234"
                    },
                    "settings": {
                        "$ref": "#/components/schemas/CompanySettings"
                    }
                },
                "type": "object"
            },
            "CompanyGateway": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "company_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "gateway_key": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "accepted_credit_cards": {
                        "description": "Bitmask representation of cards",
                        "type": "integer",
                        "example": "32"
                    },
                    "show_address": {
                        "description": "______",
                        "type": "boolean",
                        "example": true
                    },
                    "show_shipping_address": {
                        "description": "______",
                        "type": "boolean",
                        "example": true
                    },
                    "update_details": {
                        "description": "______",
                        "type": "boolean",
                        "example": true
                    },
                    "adjust_fee_percent": {
                        "description": "______",
                        "type": "boolean",
                        "example": true
                    },
                    "config": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "priority_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "user_id": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "min_limit": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "max_limit": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "fee_amount": {
                        "description": "______",
                        "type": "number",
                        "format": "float",
                        "example": "2.0"
                    },
                    "fee_percent": {
                        "description": "______",
                        "type": "number",
                        "format": "float",
                        "example": "2.0"
                    },
                    "fee_tax_name1": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "fee_tax_name2": {
                        "description": "______",
                        "type": "string",
                        "example": "2"
                    },
                    "fee_tax_rate1": {
                        "description": "______",
                        "type": "number",
                        "format": "float",
                        "example": "2.0"
                    },
                    "fee_tax_rate2": {
                        "description": "______",
                        "type": "number",
                        "format": "float",
                        "example": "2.0"
                    },
                    "fee_cap": {
                        "description": "______",
                        "type": "number",
                        "format": "float",
                        "example": "2.0"
                    }
                },
                "type": "object"
            },
            "Company": {
                "properties": {
                    "id": {
                        "description": "The company hash id",
                        "type": "string",
                        "example": "WJxbojagwO"
                    },
                    "name": {
                        "description": "The company name",
                        "type": "string",
                        "example": "The local shop"
                    },
                    "logo": {
                        "description": "The company logo - binary",
                        "type": "object",
                        "example": "logo.png"
                    },
                    "settings": {
                        "$ref": "#/components/schemas/CompanySettings"
                    }
                },
                "type": "object"
            },
            "CompanySettings": {
                "properties": {
                    "timezone_id": {
                        "description": "The timezone id",
                        "type": "string",
                        "example": "15"
                    },
                    "date_format_id": {
                        "description": "____________",
                        "type": "string",
                        "example": "15"
                    },
                    "financial_year_start": {
                        "description": "____________",
                        "type": "string",
                        "example": "2000-01-01"
                    },
                    "language_id": {
                        "description": "____________",
                        "type": "string",
                        "example": "1"
                    },
                    "company_logo": {
                        "description": "The URL to the company Logo",
                        "type": "string",
                        "example": "https://example.com/logo.png"
                    },
                    "custom_label1": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_label2": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_label3": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_label4": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_value1": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_value2": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_value3": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_value4": {
                        "description": "____________",
                        "type": "string",
                        "example": "Custom Label"
                    },
                    "custom_message_dashboard": {
                        "description": "____________",
                        "type": "string",
                        "example": "Please pay invoices immediately"
                    },
                    "custom_message_unpaid_invoice": {
                        "description": "____________",
                        "type": "string",
                        "example": "Please pay invoices immediately"
                    },
                    "custom_message_paid_invoice": {
                        "description": "____________",
                        "type": "string",
                        "example": "Thanks for paying this invoice!"
                    },
                    "custom_message_unapproved_quote": {
                        "description": "____________",
                        "type": "string",
                        "example": "Please approve quote"
                    },
                    "military_time": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "custom_taxes1": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "custom_taxes2": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "send_reminders": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "lock_sent_invoices": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "auto_archive_invoice": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "inclusive_taxes": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "show_tasks_in_portal": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "show_currency_code": {
                        "description": "____________",
                        "type": "boolean",
                        "example": true
                    },
                    "shared_invoice_quote_counter": {
                        "description": "Flags whether to share the counter for invoices and quotes",
                        "type": "boolean",
                        "example": true
                    },
                    "first_day_of_week": {
                        "description": "____________",
                        "type": "integer",
                        "example": "1"
                    },
                    "invoice_number_prefix": {
                        "description": "This string is prepended to the invoice number",
                        "type": "string",
                        "example": "R"
                    },
                    "invoice_number_pattern": {
                        "description": "Allows customisation of the invoice number pattern",
                        "type": "string",
                        "example": "{$year}-{$counter}"
                    },
                    "invoice_number_counter": {
                        "description": "____________",
                        "type": "integer",
                        "example": "1"
                    },
                    "quote_number_prefix": {
                        "description": "This string is prepended to the quote number",
                        "type": "string",
                        "example": "R"
                    },
                    "quote_number_pattern": {
                        "description": "Allows customisation of the quote number pattern",
                        "type": "string",
                        "example": "{$year}-{$counter}"
                    },
                    "quote_number_counter": {
                        "description": "____________",
                        "type": "integer",
                        "example": "1"
                    },
                    "client_number_prefix": {
                        "description": "This string is prepended to the client number",
                        "type": "string",
                        "example": "R"
                    },
                    "client_number_pattern": {
                        "description": "Allows customisation of the client number pattern",
                        "type": "string",
                        "example": "{$year}-{$counter}"
                    },
                    "client_number_counter": {
                        "description": "____________",
                        "type": "integer",
                        "example": "1"
                    },
                    "credit_number_prefix": {
                        "description": "This string is prepended to the credit number",
                        "type": "string",
                        "example": "R"
                    },
                    "credit_number_pattern": {
                        "description": "Allows customisation of the credit number pattern",
                        "type": "string",
                        "example": "{$year}-{$counter}"
                    },
                    "credit_number_counter": {
                        "description": "____________",
                        "type": "integer",
                        "example": "1"
                    },
                    "recurring_invoice_number_prefix": {
                        "description": "This string is prepended to the recurring invoice number",
                        "type": "string",
                        "example": "R"
                    },
                    "default_task_rate": {
                        "description": "____________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "translations": {
                        "description": "JSON payload of customized translations",
                        "type": "object",
                        "example": ""
                    },
                    "payment_terms": {
                        "description": "-1 sets no payment term, 0 sets payment due immediately, positive integers indicates payment terms in days",
                        "type": "integer",
                        "example": "1"
                    },
                    "reset_counter_frequency_id": {
                        "description": "CONSTANT which is used to apply the frequency which the counters are reset",
                        "type": "integer",
                        "example": "1"
                    },
                    "counter_padding": {
                        "description": "Pads the counter with leading zeros",
                        "type": "integer",
                        "example": "1"
                    },
                    "default_gateway": {
                        "description": "The default payment gateway",
                        "type": "integer",
                        "example": "1"
                    },
                    "reset_counter_date": {
                        "description": "The explicit date which is used to reset counters",
                        "type": "string",
                        "example": "2019-01-01"
                    }
                },
                "type": "object"
            },
            "CompanyToken": {
                "properties": {
                    "name": {
                        "description": "The token name",
                        "type": "string",
                        "example": "Token Name"
                    },
                    "token": {
                        "description": "The token value",
                        "type": "string",
                        "example": "AS3df3jUUH765fhfd9KJuidj3JShjA"
                    }
                },
                "type": "object"
            },
            "CompanyUser": {
                "properties": {
                    "permissions": {
                        "description": "The company user permissions",
                        "type": "string",
                        "example": "[create_invoice]"
                    },
                    "settings": {
                        "description": "The company name",
                        "type": "object",
                        "example": "The local shop"
                    },
                    "is_owner": {
                        "description": "Determines whether the user owns this company",
                        "type": "boolean",
                        "example": true
                    },
                    "is_locked": {
                        "description": "Determines whether the users access to this company has been locked",
                        "type": "boolean",
                        "example": true
                    },
                    "updated_at": {
                        "description": "The last time the record was modified",
                        "type": "integer",
                        "example": "1231232312321"
                    },
                    "deleted_at": {
                        "description": "Timestamp when the user was archived",
                        "type": "integer",
                        "example": "12312312321"
                    },
                    "account": {
                        "$ref": "#/components/schemas/Account"
                    },
                    "company": {
                        "$ref": "#/components/schemas/Company"
                    },
                    "user": {
                        "$ref": "#/components/schemas/User"
                    },
                    "token": {
                        "$ref": "#/components/schemas/CompanyToken"
                    }
                },
                "type": "object"
            },
            "Error": {
                "properties": {
                    "message": {
                        "description": "The company name",
                        "type": "string",
                        "example": "Unexpected error"
                    },
                    "code": {
                        "description": "The HTTP error code",
                        "type": "integer",
                        "example": "500"
                    }
                },
                "type": "object"
            },
            "GroupSetting": {
                "properties": {
                    "id": {
                        "description": "_________",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "user_id": {
                        "description": "__________",
                        "type": "string",
                        "example": ""
                    },
                    "company_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "name": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "settings": {
                        "description": "________",
                        "type": "object",
                        "example": ""
                    }
                },
                "type": "object"
            },
            "Invoice": {
                "properties": {
                    "id": {
                        "description": "_________",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "user_id": {
                        "description": "__________",
                        "type": "string",
                        "example": ""
                    },
                    "company_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "client_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "status_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "invoice_type_id": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "invoice_number": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "po_number": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "terms": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "public_notes": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "private_notes": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "footer": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value3": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "custom_value4": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "tax_name1": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "tax_name2": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "tax_rate1": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "tax_rate2": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "tax_name3": {
                        "description": "________",
                        "type": "string",
                        "example": ""
                    },
                    "tax_rate3": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "line_items": {
                        "description": "_________",
                        "type": "object",
                        "example": ""
                    },
                    "amount": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "balance": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "discount": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "partial": {
                        "description": "_________",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "is_amount_discount": {
                        "description": "_________",
                        "type": "boolean",
                        "example": true
                    },
                    "is_deleted": {
                        "description": "_________",
                        "type": "boolean",
                        "example": true
                    },
                    "invoice_date": {
                        "description": "_________",
                        "type": "string",
                        "format": "date",
                        "example": "1994-07-30"
                    },
                    "partial_due_date": {
                        "description": "_________",
                        "type": "string",
                        "format": "date",
                        "example": "1994-07-30"
                    },
                    "due_date": {
                        "description": "_________",
                        "type": "string",
                        "format": "date",
                        "example": "1994-07-30"
                    },
                    "settings": {
                        "$ref": "#/components/schemas/CompanySettings"
                    },
                    "last_viewed": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "1434342123"
                    },
                    "updated_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "1434342123"
                    },
                    "archived_at": {
                        "description": "Timestamp",
                        "type": "number",
                        "format": "integer",
                        "example": "1434342123"
                    }
                },
                "type": "object"
            },
            "Payment": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    }
                },
                "type": "object"
            },
            "Product": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    }
                },
                "type": "object"
            },
            "Quote": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    }
                },
                "type": "object"
            },
            "RecurringInvoice": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    }
                },
                "type": "object"
            },
            "RecurringQuote": {
                "properties": {
                    "id": {
                        "description": "______",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    }
                },
                "type": "object"
            },
            "User": {
                "properties": {
                    "id": {
                        "description": "__________",
                        "type": "string",
                        "example": "Opnel5aKBz"
                    },
                    "first_name": {
                        "description": "________",
                        "type": "string",
                        "example": "The users first name"
                    },
                    "last_name": {
                        "description": "_________",
                        "type": "string",
                        "example": "The users last name"
                    },
                    "email": {
                        "description": "_________",
                        "type": "string",
                        "example": ""
                    },
                    "phone": {
                        "description": "_________",
                        "type": "string",
                        "example": "555-1233-23232"
                    },
                    "signature": {
                        "description": "_________",
                        "type": "string",
                        "example": "A users text signature"
                    },
                    "avatar": {
                        "description": "_________",
                        "type": "string",
                        "example": "https://url.to.your/avatar.png"
                    },
                    "accepted_terms_version": {
                        "description": "_________",
                        "type": "string",
                        "example": "1.0.1"
                    },
                    "oauth_user_id": {
                        "description": "_________",
                        "type": "string",
                        "example": "jkhasdf789as6f675sdf768sdfs"
                    },
                    "oauth_provider_id": {
                        "description": "_________",
                        "type": "string",
                        "example": "google"
                    }
                },
                "type": "object"
            },
            "ValidationError": {
                "properties": {
                    "message": {
                        "description": "The error message",
                        "type": "string",
                        "example": "The given data was invalid."
                    },
                    "errors": {
                        "properties": {
                            "value": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            }
        },
        "parameters": {
            "X-Api-Secret": {
                "name": "X-Api-Secret",
                "in": "header",
                "description": "The API secret as defined by the .env variable API_SECRET",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "password"
                }
            },
            "X-Requested-With": {
                "name": "X-Requested-With",
                "in": "header",
                "description": "Used to send the XMLHttpRequest header",
                "required": true,
                "schema": {
                    "type": "string",
                    "readOnly": true,
                    "example": "XMLHttpRequest"
                }
            },
            "X-Api-Token": {
                "name": "X-Api-Token",
                "in": "header",
                "description": "The API token to be used for authentication",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "HcRvs0oCvYbY5g3RzgBZrSBOChCiq8u4AL0ieuFN5gn4wUV14t0clVhfPc5OX99q"
                }
            },
            "include": {
                "name": "include",
                "in": "query",
                "description": "Includes child relationships in the response, format is comma separated",
                "schema": {
                    "type": "string",
                    "example": "clients,invoices"
                }
            },
            "include_static": {
                "name": "include_static",
                "in": "query",
                "description": "Returns static variables",
                "schema": {
                    "type": "string",
                    "example": "include_static=true"
                }
            },
            "clear_cache": {
                "name": "clear_cache",
                "in": "query",
                "description": "Clears the static cache",
                "schema": {
                    "type": "string",
                    "example": "clear_cache=true"
                }
            },
            "index": {
                "name": "index",
                "in": "query",
                "description": "Replaces the default response index from data to a user specific string",
                "schema": {
                    "type": "string",
                    "example": "user"
                }
            },
            "": {
                "name": "",
                "in": "query",
                "description": "The API version",
                "schema": {
                    "type": "number",
                    "example": "user"
                }
            }
        },
        "headers": {
            "X-API-Version": {
                "description": "The API version",
                "schema": {
                    "type": "number"
                }
            },
            "X-RateLimit-Remaining": {
                "description": "The number of requests left for the time window.",
                "schema": {
                    "type": "integer"
                }
            },
            "X-RateLimit-Limit": {
                "description": "The total number of requests in a given time window.",
                "schema": {
                    "type": "integer"
                }
            }
        }
    },
    "tags": [
        {
            "name": "login",
            "description": "Authentication",
            "externalDocs": {
                "description": "Find out more",
                "url": "http://docs.invoiceninja.com"
            }
        }
    ],
    "externalDocs": {
        "description": "http://docs.invoiceninja.com",
        "url": "http://docs.invoiceninja.com"
    }
}