{
    "basePath": "http://api.basetax.co.uk/v4",
    "swaggerVersion": "1.2",
    "apiVersion": "1.0.0",
    "resourcePath": "/tax-returns",
    "apis": [
        {
            "path": "/tax-returns",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get all Tax Returns",
                    "nickname": "getTaxReturns",
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                },
                {
                    "method": "POST",
                    "summary": "Create a tax return",
                    "nickname": "tax-return",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "taxReturn",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/data-requests",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Data requests",
                    "nickname": "data-requests",
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get one tax-return",
                    "nickname": "tax-return",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                },
                {
                    "method": "PUT",
                    "summary": "Update a tax return",
                    "nickname": "updateTaxReturn",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "taxReturn",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                },
                {
                    "method": "DELETE",
                    "summary": "Delete a tax-return",
                    "nickname": "tax-return",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/amend",
            "operations": [
                {
                    "method": "POST",
                    "summary": "amend a tax return",
                    "nickname": "amend-a-tax-return",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/calculate",
            "operations": [
                {
                    "method": "POST",
                    "summary": "tax calculate",
                    "nickname": "tax calculate",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "ID"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/check-payment",
            "operations": [
                {
                    "method": "GET",
                    "summary": "check payment",
                    "nickname": "check-payment",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/confirm-declaration",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Confirm Declaration a tax return",
                    "nickname": "confirm-declaration-a-tax-return",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/employments/{employer_id}/import",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get a import Employment from bookkeeping",
                    "nickname": "Get a import Employment from bookkeeping",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/generate-report",
            "operations": [
                {
                    "method": "GET",
                    "summary": "generate report",
                    "nickname": "generate report",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/generate-xml",
            "operations": [
                {
                    "method": "GET",
                    "summary": "generate XML",
                    "nickname": "generate XML",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/mapping",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Mapping data",
                    "nickname": "Mapping data",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/payment",
            "operations": [
                {
                    "method": "GET",
                    "summary": "payment for tax return",
                    "nickname": "payment-for-tax-return",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/poll",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Poll to HMRC",
                    "nickname": "pollToHMRC",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Tax return ID"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/self-employments/{business_id}/import",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Import selfEmployed from bookkeeping",
                    "nickname": "importSelfEmploymentTest",
                    "parameters": [
                        {
                            "paramType": "query",
                            "name": "business_id",
                            "type": "string",
                            "required": true,
                            "description": "Business Id"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_year_id",
                            "type": "string",
                            "required": true,
                            "description": "Tax Year Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/submit",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Submit to HMRC",
                    "nickname": "submitToHMRC",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Year number"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/success-response",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Download receipt success Response",
                    "nickname": "download-receipt-success-response",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Year number"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/tax-calculation",
            "operations": [
                {
                    "method": "GET",
                    "summary": "report tax calculation",
                    "nickname": "report tax calculation",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "ID"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/tax-review",
            "operations": [
                {
                    "method": "GET",
                    "summary": "download tax-review",
                    "nickname": "tax-return-tax-review",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/uk-properties/import",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get a import U.K. Property from bookkeeping",
                    "nickname": "Get a import U.K. Property from bookkeeping",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/tax-returns/{id}/validate",
            "operations": [
                {
                    "method": "GET",
                    "summary": "validate to HMRC",
                    "nickname": "validateHMRC",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "description": "Year number"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        }
    ],
    "models": {
        "taxReturn": {
            "id": "taxReturn",
            "properties": {
                "user_id": {
                    "type": "integer",
                    "defaultValue": 4
                },
                "tax_year_id": {
                    "type": "integer",
                    "defaultValue": 5
                },
                "email": {
                    "type": "string",
                    "format": "email",
                    "defaultValue": "basetax.test.001@gmail.com"
                },
                "type_of_return": {
                    "type": "string",
                    "defaultValue": ""
                },
                "SA101": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA102": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA102M": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA103S": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA103L": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA103F": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA104F": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA104S": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA105": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA106": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA107": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA108": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "SA109": {
                    "type": "boolean",
                    "defaultValue": false
                },
                "tax_calculation": {
                    "type": "string",
                    "defaultValue": ""
                },
                "status": {
                    "type": "string",
                    "defaultValue": ""
                },
                "original_xml_submission_file": {
                    "type": "string",
                    "defaultValue": ""
                },
                "HMRC_response": {
                    "type": "string",
                    "defaultValue": ""
                },
                "error_messages": {
                    "type": "string",
                    "defaultValue": ""
                },
                "IR_mark": {
                    "type": "string",
                    "defaultValue": ""
                },
                "confirmation_email": {
                    "type": "string",
                    "defaultValue": ""
                },
                "additional_note": {
                    "type": "string",
                    "defaultValue": ""
                },
                "submission_date": {
                    "type": "string",
                    "format": "date"
                },
                "declaration_date": {
                    "type": "string"
                }
            }
        }
    },
    "produces": [
        "application/json"
    ]
}