{"id":45646233,"url":"https://github.com/xeroapi/xero-openapi","last_synced_at":"2026-06-04T00:01:04.632Z","repository":{"id":30417423,"uuid":"112554987","full_name":"XeroAPI/Xero-OpenAPI","owner":"XeroAPI","description":"An OpenAPI description of the Xero API","archived":false,"fork":false,"pushed_at":"2026-05-17T22:27:19.000Z","size":20643,"stargazers_count":133,"open_issues_count":27,"forks_count":159,"subscribers_count":18,"default_branch":"master","last_synced_at":"2026-05-17T23:37:02.372Z","etag":null,"topics":["openapi","swagger","xero-api"],"latest_commit_sha":null,"homepage":"https://developer.xero.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XeroAPI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-11-30T02:37:18.000Z","updated_at":"2026-05-17T22:27:21.000Z","dependencies_parsed_at":"2024-01-08T21:54:02.795Z","dependency_job_id":"2a4ff4e9-a94b-4f70-bafa-6b05813b5725","html_url":"https://github.com/XeroAPI/Xero-OpenAPI","commit_stats":null,"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/XeroAPI/Xero-OpenAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeroAPI%2FXero-OpenAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeroAPI%2FXero-OpenAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeroAPI%2FXero-OpenAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeroAPI%2FXero-OpenAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XeroAPI","download_url":"https://codeload.github.com/XeroAPI/Xero-OpenAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeroAPI%2FXero-OpenAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33884734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openapi","swagger","xero-api"],"created_at":"2026-02-24T04:11:19.997Z","updated_at":"2026-06-04T00:01:04.626Z","avatar_url":"https://github.com/XeroAPI.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Xero-OpenAPI\nAn OpenAPI (Swagger) specification for the Xero API with OAuth 2.0 security schema.\n\n## Description\nThis repository holds the official Xero [OpenAPI](https://www.openapis.org/) descriptions.\n\nOpenAPI spec 3.0\nIn Release (used for one or more SDKs)\n* [Accounting](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero_accounting.yaml)\n* [Identity](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-identity.yaml)\n* [Bank Feeds](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero_bankfeeds.yaml)\n* [Fixed Assets](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero_assets.yaml)\n* [Project](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-projects.yaml)\n* [Payroll AU](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-payroll-au.yaml)\n* [Payroll UK](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-payroll-uk.yaml)\n* [Payroll NZ](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-payroll-nz.yaml)\n* [Files](https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero_files.yaml)\n\n\n## Contribution guide\n\nUse [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) for all commits.\n\nWhy this matters:\n\n- We use [semantic-release](https://github.com/semantic-release/semantic-release) to calculate versions automatically.\n- Consistent commit formatting keeps versioning predictable and release notes accurate.\n\nVersioning rules:\n\n- `feat:` -\u003e minor version bump\n- `fix:` -\u003e patch version bump\n- `!` in the header or `BREAKING CHANGE:` footer -\u003e major version bump\n\nExamples:\n\n```text\nfeat(accounting): add includeArchived query parameter to GET /Accounts\n```\n\n```text\nfix(files): correct nullable schema for File.ContentLength\n```\n\n```text\nfeat(payroll-nz)!: remove deprecated EarningsRateID field from Payslip response\n\nBREAKING CHANGE: clients must use EarningsRateIdentifier instead of EarningsRateID.\n```\n\n\n## Code Generators\nWe are using [OpenAPI generator](https://github.com/OpenAPITools/openapi-generator) along with these OAS yaml files to generate our new SDKs.\n\n## Preview\n### Online\nThere are lots of tools available for viewing and editing OpenAPI descriptions in a nicely formatted way. A popular tool is SwaggerHub - a version of which is [hosted here](https://app.swaggerhub.com/home).\n\nOnce you sign up or login, you can create a new API under your account and import a Xero API spec.\n\n![SwaggerUI Example](images/import-api.png)\n\n### Local\n\n#### Node.js\nIf you have Node.js you can use the Swagger UI via an NPM package (it will open a webpage in your default browser):\n`npx -y open-swagger-ui --open ./xero_accounting.yaml`\n\n#### Docker\nTo view a local file via Docker, run:\n`docker run -p 8080:8080 -e SWAGGER_JSON=/local/xero_accounting.yaml -v $PWD:/local docker.swagger.io/swaggerapi/swagger-ui`\n\nTo view a hosted file via Docker, run:\n`docker run -p 8080:8080 -e SWAGGER_JSON_URL=https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_accounting.yaml docker.swagger.io/swaggerapi/swagger-ui`\n\n\n## Updates\nIf you find something missing or incorrect please [open an issue](https://github.com/XeroAPI/Xero-OpenAPI/issues/new) or send us a pull request.\n\n## API Diff Checking\nThis repository includes automated API diff checking using [oasdiff](https://github.com/oasdiff/oasdiff) to detect breaking changes and modifications to the OpenAPI specifications.\n\n### Quick Start\n```bash\n# Check all xero*.yaml files against master branch\n./scripts/api-diff/api-diff.sh\n\n# Check a single file\n./scripts/api-diff/api-diff.sh xero_accounting.yaml\n```\n\n### Breaking Change Enforcement\nBy default, API diff checks fail when breaking changes are detected.\n\nBreaking changes are allowed only when commit messages include a Conventional Commits breaking marker:\n\n- `!` in the commit header, for example `feat!: remove deprecated endpoint`\n- `BREAKING CHANGE:` in the commit body/footer\n\n### Full Documentation\nFor detailed usage, configuration options, environment variables, and integration details, see [scripts/api-diff/README.md](scripts/api-diff/README.md).\n\n## License\n\nThis software is published under the [MIT License](http://en.wikipedia.org/wiki/MIT_License).\n\n\tCopyright (c) 2019 Xero Limited\n\n\tPermission is hereby granted, free of charge, to any person\n\tobtaining a copy of this software and associated documentation\n\tfiles (the \"Software\"), to deal in the Software without\n\trestriction, including without limitation the rights to use,\n\tcopy, modify, merge, publish, distribute, sublicense, and/or sell\n\tcopies of the Software, and to permit persons to whom the\n\tSoftware is furnished to do so, subject to the following\n\tconditions:\n\n\tThe above copyright notice and this permission notice shall be\n\tincluded in all copies or substantial portions of the Software.\n\n\tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n\tEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n\tOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n\tNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n\tHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n\tWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n\tFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n\tOTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxeroapi%2Fxero-openapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxeroapi%2Fxero-openapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxeroapi%2Fxero-openapi/lists"}