{"id":47725988,"url":"https://github.com/dever-labs/postly","last_synced_at":"2026-05-25T23:02:13.221Z","repository":{"id":347961156,"uuid":"1194801735","full_name":"dever-labs/postly","owner":"dever-labs","description":"A cross-platform API client built for teams","archived":false,"fork":false,"pushed_at":"2026-04-03T01:17:47.000Z","size":1324,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T06:24:03.384Z","etag":null,"topics":["api-client","backstage","developer-tools","electron"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/dever-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2026-03-28T20:42:25.000Z","updated_at":"2026-04-02T21:36:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dever-labs/postly","commit_stats":null,"previous_names":["dever-labs/postly"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/dever-labs/postly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dever-labs%2Fpostly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dever-labs%2Fpostly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dever-labs%2Fpostly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dever-labs%2Fpostly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dever-labs","download_url":"https://codeload.github.com/dever-labs/postly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dever-labs%2Fpostly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31530647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":["api-client","backstage","developer-tools","electron"],"created_at":"2026-04-02T20:28:13.165Z","updated_at":"2026-05-25T23:02:13.214Z","avatar_url":"https://github.com/dever-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Postly\n\n\u003e A cross-platform API client built for teams — with native Backstage, GitHub, and GitLab integration.\n\n![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-blue)\n![License](https://img.shields.io/badge/license-MIT-green)\n![Release](https://img.shields.io/github/v/release/dever-labs/postly)\n\n---\n\n## What is Postly?\n\nPostly is a desktop API client similar to Postman, built with Electron. It's designed for developers who work with APIs discovered through internal developer portals or source control — not just manually created collections.\n\n**Key differentiator:** Connect Postly to your Backstage instance, GitHub, or GitLab repository, and your APIs automatically appear as collections alongside locally created ones. Everything lives in one place.\n\n---\n\n## Features\n\n### API Collections\n- Organise requests into **collections** and **groups**\n- Full request editor: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS\n- URL parameters, headers, and body (JSON, form-data, URL-encoded, raw, binary, GraphQL)\n- Per-request response viewer with syntax highlighting (pretty, raw, preview)\n\n### Authentication — all levels\nConfigure auth once on a collection or group, and requests inherit it automatically.\n\n| Type | Description |\n|---|---|\n| **Bearer Token** | Static bearer token |\n| **Basic Auth** | Username + password |\n| **JWT Bearer** | JWT token with configurable prefix |\n| **OAuth 2.0** | Authorization Code (PKCE) or Client Credentials — token auto-cached and refreshed |\n| **NTLM** | Windows authentication with domain/workstation |\n| **Inherit** | Walk up to group → collection → integration |\n\n### Source Integrations\nPull APIs directly from:\n- **Backstage** — discovers APIs via the Backstage catalog\n- **GitHub** — reads OpenAPI specs from repositories\n- **GitLab** — reads OpenAPI specs from repositories\n\nCollections from each source appear as separate groups in the sidebar. Changes can be committed back to source control from within the app.\n\n### Environments\n- Multiple named environments with key-value variables\n- `{{VAR_NAME}}` interpolation in URLs, headers, and body\n- Secret variable masking\n\n### Quality of Life\n- **Console tab** on every response — structured log of auth source, environment resolution, OAuth token state, SSL settings, and request/response summary\n- Per-entity SSL verification (inherit / enabled / disabled)\n- Resizable sidebar and response panel\n- Search and filter across all collections\n- Dark and light theme\n- Breadcrumb navigation (Source › Collection › Group › Request)\n\n---\n\n## Download\n\n### macOS\n\nThe recommended way to install on macOS is via [Homebrew](https://brew.sh) — it bypasses Gatekeeper automatically:\n\n```bash\nbrew install dever-labs/tap/postly\n```\n\nAlternatively, download the `.dmg` from the [Releases](https://github.com/dever-labs/postly/releases) page. Because Postly is not notarized, macOS will block it on first launch. To allow it, run this once after installing:\n\n```bash\nxattr -cr /Applications/Postly.app\n```\n\nOr: right-click the app → **Open** → click **Open** in the dialog.\n\n### Windows \u0026 Linux\n\nDownload the latest installer for your platform from the [Releases](https://github.com/dever-labs/postly/releases) page.\n\n| Platform | Installer |\n|---|---|\n| Windows x64 | `Postly-Setup-x.x.x.exe` |\n| Windows arm64 | `Postly-Setup-x.x.x-arm64.exe` |\n| macOS Intel | `Postly-x.x.x.dmg` |\n| macOS Apple Silicon | `Postly-x.x.x-arm64.dmg` |\n| Linux x64 | `Postly-x.x.x.AppImage` / `.deb` |\n| Linux arm64 | `Postly-x.x.x-arm64.AppImage` / `.deb` |\n\n---\n\n## Development\n\nSee [docs/development.md](docs/development.md) for full setup instructions.\n\n```bash\n# Install dependencies\nnpm install\n\n# Start dev server (hot reload)\nnpm run dev\n\n# Build\nnpm run build\n```\n\n---\n\n## Integrations\n\nSee [docs/integrations.md](docs/integrations.md) for connecting Backstage, GitHub, and GitLab.\n\n---\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feat/my-feature`\n3. Commit your changes\n4. Open a pull request\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdever-labs%2Fpostly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdever-labs%2Fpostly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdever-labs%2Fpostly/lists"}