{
    "basePath": "http://localhost/taxmapp-api/public",
    "swaggerVersion": "1.2",
    "apiVersion": "1.0.0",
    "resourcePath": "/transaction",
    "apis": [
        {
            "path": "/v2/transaction",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get all transactions",
                    "nickname": "transaction",
                    "parameters": [
                        {
                            "paramType": "query",
                            "name": "tax_year_id",
                            "type": "string",
                            "description": "Tax Year ID"
                        },
                        {
                            "paramType": "query",
                            "name": "record_type_id",
                            "type": "string",
                            "description": "Record Type ID"
                        },
                        {
                            "paramType": "query",
                            "name": "business_id",
                            "type": "string",
                            "description": "Business ID"
                        },
                        {
                            "paramType": "query",
                            "name": "employer_id",
                            "type": "string",
                            "description": "Employer ID"
                        },
                        {
                            "paramType": "query",
                            "name": "property_id",
                            "type": "string",
                            "description": "Property ID"
                        },
                        {
                            "paramType": "query",
                            "name": "customer_id",
                            "type": "string",
                            "description": "Customer ID"
                        },
                        {
                            "paramType": "query",
                            "name": "supplier_id",
                            "type": "string",
                            "description": "Supplier ID"
                        },
                        {
                            "paramType": "query",
                            "name": "embed",
                            "type": "string",
                            "description": "Embed"
                        },
                        {
                            "paramType": "query",
                            "name": "fields",
                            "type": "string",
                            "description": "Fields"
                        },
                        {
                            "paramType": "query",
                            "name": "orderBy",
                            "type": "string",
                            "description": "Order By"
                        },
                        {
                            "paramType": "query",
                            "name": "reverse",
                            "type": "string",
                            "description": "Is Reverse"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                },
                {
                    "method": "POST",
                    "summary": "Create one transaction",
                    "nickname": "transaction",
                    "parameters": [
                        {
                            "paramType": "query",
                            "name": "record_type_id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Record type id"
                        },
                        {
                            "paramType": "query",
                            "name": "payment_type_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Payment type id"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_year_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Tax year id"
                        },
                        {
                            "paramType": "query",
                            "name": "business_id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Business id"
                        },
                        {
                            "paramType": "query",
                            "name": "employer_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Employer id"
                        },
                        {
                            "paramType": "query",
                            "name": "property_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Property id"
                        },
                        {
                            "paramType": "query",
                            "name": "customer_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Customer id"
                        },
                        {
                            "paramType": "query",
                            "name": "supplier_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Supplier id"
                        },
                        {
                            "paramType": "query",
                            "name": "name",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Name"
                        },
                        {
                            "paramType": "query",
                            "name": "description",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Description"
                        },
                        {
                            "paramType": "query",
                            "name": "reference",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Reference"
                        },
                        {
                            "paramType": "query",
                            "name": "amount",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Amount"
                        },
                        {
                            "paramType": "query",
                            "name": "vat",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "vat"
                        },
                        {
                            "paramType": "query",
                            "name": "cis_deduction",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Cis Deduction"
                        },
                        {
                            "paramType": "query",
                            "name": "date",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Date"
                        },
                        {
                            "paramType": "query",
                            "name": "scan",
                            "type": "file",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Scan image"
                        },
                        {
                            "paramType": "query",
                            "name": "notes",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Notes"
                        },
                        {
                            "paramType": "query",
                            "name": "disallowable",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Disallowable"
                        },
                        {
                            "paramType": "query",
                            "name": "vehicle_type_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Vehicle type id"
                        },
                        {
                            "paramType": "query",
                            "name": "claim_allowance",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Claim allowance"
                        },
                        {
                            "paramType": "query",
                            "name": "mileage",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Mileage"
                        },
                        {
                            "paramType": "query",
                            "name": "month",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Month"
                        },
                        {
                            "paramType": "query",
                            "name": "time_spent",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Time spent"
                        },
                        {
                            "paramType": "query",
                            "name": "number_of_residents",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Number of residents"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_salary",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Tax salary"
                        },
                        {
                            "paramType": "query",
                            "name": "other_income",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Other Income"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_taken_off",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Tax taken off"
                        },
                        {
                            "paramType": "query",
                            "name": "number_of_children",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Number of children"
                        },
                        {
                            "paramType": "query",
                            "name": "student_loan_notification",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Student load notification"
                        },
                        {
                            "paramType": "query",
                            "name": "student_loan_maybe_repaid",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Student loan maybe repaid"
                        },
                        {
                            "paramType": "query",
                            "name": "p11d",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "p11d"
                        },
                        {
                            "paramType": "query",
                            "name": "recurring_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "recurring_id"
                        },
                        {
                            "paramType": "query",
                            "name": "sub_category_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "sub category id"
                        },
                        {
                            "paramType": "query",
                            "name": "sub_category_name",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "sub category name"
                        },
                        {
                            "paramType": "query",
                            "name": "foreign_currency_selected",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Checkbox for show/hide foreign"
                        },
                        {
                            "paramType": "query",
                            "name": "foreign_currency",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Foreign currency"
                        },
                        {
                            "paramType": "query",
                            "name": "foreign_rate",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Foreign rate"
                        },
                        {
                            "paramType": "query",
                            "name": "foreign_amount",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Foreign amount"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/v2/transaction/year/{id}",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get transactions by tax year",
                    "nickname": "getTransactionsByYear",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "allowMultiple": false,
                            "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": "/v2/transaction/{id}",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get one transaction",
                    "nickname": "transaction",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Id"
                        }
                    ],
                    "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 transaction",
                    "nickname": "transaction",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Id"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/v2transaction/{id}",
            "operations": [
                {
                    "method": "PUT",
                    "summary": "Update a transaction",
                    "nickname": "transaction",
                    "parameters": [
                        {
                            "paramType": "path",
                            "name": "id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Id"
                        },
                        {
                            "paramType": "query",
                            "name": "record_type_id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Record type id"
                        },
                        {
                            "paramType": "query",
                            "name": "payment_type_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Payment type id"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_year_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Tax year id"
                        },
                        {
                            "paramType": "query",
                            "name": "business_id",
                            "type": "string",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Business id"
                        },
                        {
                            "paramType": "query",
                            "name": "employer_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Employer id"
                        },
                        {
                            "paramType": "query",
                            "name": "property_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Property id"
                        },
                        {
                            "paramType": "query",
                            "name": "customer_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Customer id"
                        },
                        {
                            "paramType": "query",
                            "name": "supplier_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Supplier id"
                        },
                        {
                            "paramType": "query",
                            "name": "name",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Name"
                        },
                        {
                            "paramType": "query",
                            "name": "description",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Description"
                        },
                        {
                            "paramType": "query",
                            "name": "reference",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Reference"
                        },
                        {
                            "paramType": "query",
                            "name": "amount",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Amount"
                        },
                        {
                            "paramType": "query",
                            "name": "vat",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "vat"
                        },
                        {
                            "paramType": "query",
                            "name": "cis_deduction",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Cis Deduction"
                        },
                        {
                            "paramType": "query",
                            "name": "date",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Date"
                        },
                        {
                            "paramType": "query",
                            "name": "scan",
                            "type": "file",
                            "required": true,
                            "allowMultiple": false,
                            "description": "Scan image"
                        },
                        {
                            "paramType": "query",
                            "name": "notes",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Notes"
                        },
                        {
                            "paramType": "query",
                            "name": "disallowable",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Disallowable"
                        },
                        {
                            "paramType": "query",
                            "name": "vehicle_type_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Vehicle type id"
                        },
                        {
                            "paramType": "query",
                            "name": "claim_allowance",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Claim allowance"
                        },
                        {
                            "paramType": "query",
                            "name": "mileage",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Mileage"
                        },
                        {
                            "paramType": "query",
                            "name": "month",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Month"
                        },
                        {
                            "paramType": "query",
                            "name": "time_spent",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Time spent"
                        },
                        {
                            "paramType": "query",
                            "name": "number_of_residents",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Number of residents"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_salary",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Tax salary"
                        },
                        {
                            "paramType": "query",
                            "name": "other_income",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Other Income"
                        },
                        {
                            "paramType": "query",
                            "name": "tax_taken_off",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "number_of_children",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "student_loan_notification",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "student_loan_maybe_repaid",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "p11d",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "recurring_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "sub_category_id",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        },
                        {
                            "paramType": "query",
                            "name": "sub_category_name",
                            "type": "string",
                            "allowMultiple": false,
                            "description": "Confirm password"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        }
    ],
    "produces": [
        "application/json"
    ]
}