{"id":46202710,"url":"https://github.com/jansdhillon/landscape-openapi-spec","last_synced_at":"2026-03-05T07:04:15.812Z","repository":{"id":320847658,"uuid":"1072726709","full_name":"jansdhillon/landscape-openapi-spec","owner":"jansdhillon","description":"OpenAPI specification for Landscape Server's API","archived":false,"fork":false,"pushed_at":"2025-11-19T04:11:53.000Z","size":62,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-19T06:07:30.094Z","etag":null,"topics":["landscape","openapi"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jansdhillon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"agents.md","dco":null,"cla":null}},"created_at":"2025-10-09T06:07:19.000Z","updated_at":"2025-11-19T04:11:44.000Z","dependencies_parsed_at":"2025-10-26T10:22:38.690Z","dependency_job_id":"62926d1c-d5b1-4df9-85dd-fe7a972b4eac","html_url":"https://github.com/jansdhillon/landscape-openapi-spec","commit_stats":null,"previous_names":["jansdhillon/landscape-openapi-docs","jansdhillon/landscape-openapi-spec"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/jansdhillon/landscape-openapi-spec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansdhillon%2Flandscape-openapi-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansdhillon%2Flandscape-openapi-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansdhillon%2Flandscape-openapi-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansdhillon%2Flandscape-openapi-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jansdhillon","download_url":"https://codeload.github.com/jansdhillon/landscape-openapi-spec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansdhillon%2Flandscape-openapi-spec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30032355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T03:27:35.548Z","status":"ssl_error","status_checked_at":"2026-03-03T03:27:09.213Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["landscape","openapi"],"created_at":"2026-03-03T05:01:09.505Z","updated_at":"2026-03-03T05:01:16.606Z","avatar_url":"https://github.com/jansdhillon.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# landscape-openapi-spec\n\n[![Bundle and sync API Client with OpenAPI spec, publish GitHub release/Go package](https://github.com/jansdhillon/landscape-openapi-spec/actions/workflows/sync-client.yaml/badge.svg)](https://github.com/jansdhillon/landscape-openapi-spec/actions/workflows/sync-client.yaml)\n\nOpenAPI 3.1 specification for the Landscape Server API.\n\n## Validating, linting, and bundling\n\nMake sure you have `swagger-cli` and `spectral-cli` installed:\n\n```sh\nnpm install -g @apidevtools/swagger-cli @stoplight/spectral-cli\n```\n\nThen, you can use the `make` recipes to validate, lint, and bundle the OpenAPI spec.\n\nValidate:\n\n```sh\nmake validate\n```\n\nLint:\n\n```sh\nmake lint\n```\n\nGenerate bundle in `openapi/landscape_api.bundle.yaml`:\n\n```sh\nmake bundle\n```\n\nExample usage: \u003chttps://github.com/jansdhillon/landscape-go-api-client\u003e.\n\n## Syncing\n\nWhenever a new version of the OpenAPI spec is created and pushed to `main`, [a GitHub Actions workflow](./.github/workflows/sync-client.yaml) is triggered that bundles the OpenAPI spec, creates a release for that version in this repository and the Go client (with the bundle as an artifact), and uses the new bundle to open a PR on `landscape-go-api-client` to update the generated code. The workflow also syncs the Go package with [pkg.go.dev](https://pkg.go.dev/github.com/jansdhillon/landscape-go-api-client).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjansdhillon%2Flandscape-openapi-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjansdhillon%2Flandscape-openapi-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjansdhillon%2Flandscape-openapi-spec/lists"}