{"info":{"_postman_id":"budget-tool-api-v1.0.0","name":"Budget Tool API v1.0.0","description":"Generated from the application\u0027s own OpenAPI contract, so it cannot drift from what the API actually does.\n\nSet `baseUrl` and `apiToken` in the collection variables. Create a token under Admin -\u003E API tokens; it is shown once.","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"},"item":[{"name":"Budgets","item":[{"name":"List budget years","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/budget-years","host":["{{baseUrl}}"],"path":["budget-years"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true}]},"description":"List budget years\n\nNewest year first. Requires the `budgets:read` scope."},"response":[]},{"name":"List budgets","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/budgets","host":["{{baseUrl}}"],"path":["budgets"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"companyId","value":"","description":"Return only budgets belonging to this company","disabled":true},{"key":"budgetYearId","value":"","description":"Return only budgets in this budget year","disabled":true}]},"description":"List budgets\n\nRequires the `budgets:read` scope."},"response":[]},{"name":"Fetch one budget","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/budgets\/:id","host":["{{baseUrl}}"],"path":["budgets",":id"],"query":[]},"description":"Fetch one budget\n\nRequires the `budgets:read` scope."},"response":[]},{"name":"List a budget\u0027s line items","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/budgets\/:id\/lines","host":["{{baseUrl}}"],"path":["budgets",":id","lines"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true}]},"description":"List a budget\u0027s line items\n\nOne row per nominal code, with the twelve original monthly figures and,\nseparately, the reforecast figures. Requires the `budgets:read` scope."},"response":[]}]},{"name":"Master data","item":[{"name":"List companies","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/companies","host":["{{baseUrl}}"],"path":["companies"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"includeInactive","value":"","description":"Deactivated records are excluded by default, matching the application.\nSet true when resolving names on historic rows, which may reference a\nrecord that has since been retired.\n","disabled":true}]},"description":"List companies\n\nRequires the `master-data:read` scope."},"response":[]},{"name":"List departments","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/departments","host":["{{baseUrl}}"],"path":["departments"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"includeInactive","value":"","description":"Deactivated records are excluded by default, matching the application.\nSet true when resolving names on historic rows, which may reference a\nrecord that has since been retired.\n","disabled":true}]},"description":"List departments\n\nRequires the `master-data:read` scope."},"response":[]},{"name":"List cost centres","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/cost-centres","host":["{{baseUrl}}"],"path":["cost-centres"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"includeInactive","value":"","description":"Deactivated records are excluded by default, matching the application.\nSet true when resolving names on historic rows, which may reference a\nrecord that has since been retired.\n","disabled":true}]},"description":"List cost centres\n\nRequires the `master-data:read` scope. Note that installations may rename\n\u0022Cost Centre\u0022 in the user interface (to \u0022Clinic\u0022 or \u0022Site\u0022, for example);\nthe API path and field names do not change with it."},"response":[]},{"name":"List nominal codes","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/nominal-codes","host":["{{baseUrl}}"],"path":["nominal-codes"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"includeInactive","value":"","description":"Deactivated records are excluded by default, matching the application.\nSet true when resolving names on historic rows, which may reference a\nrecord that has since been retired.\n","disabled":true}]},"description":"List nominal codes\n\nRequires the `master-data:read` scope."},"response":[]},{"name":"List suppliers","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/suppliers","host":["{{baseUrl}}"],"path":["suppliers"],"query":[{"key":"page","value":"","description":"1-based page number.","disabled":true},{"key":"perPage","value":"","description":"Rows per page. Values above the maximum are rejected with 400 rather than silently clamped.","disabled":true},{"key":"includeInactive","value":"","description":"Deactivated records are excluded by default, matching the application.\nSet true when resolving names on historic rows, which may reference a\nrecord that has since been retired.\n","disabled":true}]},"description":"List suppliers\n\nRequires the `master-data:read` scope."},"response":[]}]},{"name":"Reports","item":[{"name":"Budget against actual, with variance","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{apiToken}}"},{"key":"Accept","value":"application\/json"}],"url":{"raw":"{{baseUrl}}\/reports\/variance","host":["{{baseUrl}}"],"path":["reports","variance"],"query":[{"key":"budgetYearId","value":"","description":"Which budget year to report on. Defaults to the most recent one. A budget year belonging to another organisation returns 404, not 403 - confirming it exists would itself be a leak.\n","disabled":true},{"key":"month","value":"","description":"Report as at the end of this month, 1-12. Defaults to 12, the whole year. Actuals after this month are excluded.\n","disabled":true},{"key":"basis","value":"","description":"Compare actuals against the original budget, or against the reforecast. Defaults to the original.\n","disabled":true},{"key":"companyId","value":"","description":"Restrict to one company","disabled":true},{"key":"departmentId","value":"","description":"Restrict to one department","disabled":true},{"key":"costCentreId","value":"","description":"Restrict to one cost centre","disabled":true},{"key":"nominalCodeId","value":"","description":"Restrict to one nominal code","disabled":true},{"key":"categoryId","value":"","description":"Restrict to one budget category","disabled":true},{"key":"supplierId","value":"","description":"Restrict to one supplier","disabled":true}]},"description":"Budget against actual, with variance\n\nThe variance report for one budget year, aggregated by nominal code.\nRequires the `reports:read` scope.\n\nDeliberately not paginated: a variance report is a whole aggregate that\nonly means anything read together, and it is already grouped rather than\nrow-per-transaction. The tighter rate limit is what bounds its cost.\n\nCosts only - revenue is excluded, exactly as it is on the equivalent\nscreen. Use the Profit \u0026 Loss report if you need revenue."},"response":[]}]}],"variable":[{"key":"baseUrl","value":"https:\/\/budget.mushreeves.com\/api\/v1","type":"string"},{"key":"apiToken","value":"","type":"string"}]}