{"id":21916523,"url":"https://github.com/cloudnode-pro/hetzner-dns-client","last_synced_at":"2026-03-05T04:02:53.907Z","repository":{"id":65222533,"uuid":"588591327","full_name":"cloudnode-pro/hetzner-dns-client","owner":"cloudnode-pro","description":"Hetzner DNS API client for Node.js","archived":false,"fork":false,"pushed_at":"2024-07-01T18:07:41.000Z","size":193,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-12T05:45:26.832Z","etag":null,"topics":["client","hetzner","hetzner-api","hetzner-dns"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudnode-pro.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}},"created_at":"2023-01-13T13:56:36.000Z","updated_at":"2024-05-27T19:00:30.000Z","dependencies_parsed_at":"2024-05-06T19:27:28.179Z","dependency_job_id":"7209ad6a-43ff-4dfd-adbe-0b462a8bc81d","html_url":"https://github.com/cloudnode-pro/hetzner-dns-client","commit_stats":{"total_commits":107,"total_committers":2,"mean_commits":53.5,"dds":0.03738317757009346,"last_synced_commit":"05ed3b5fff5e1564e3f2ca8740209bf1adedcf5c"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cloudnode-pro/hetzner-dns-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnode-pro%2Fhetzner-dns-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnode-pro%2Fhetzner-dns-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnode-pro%2Fhetzner-dns-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnode-pro%2Fhetzner-dns-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudnode-pro","download_url":"https://codeload.github.com/cloudnode-pro/hetzner-dns-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnode-pro%2Fhetzner-dns-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30109076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["client","hetzner","hetzner-api","hetzner-dns"],"created_at":"2024-11-28T19:18:21.523Z","updated_at":"2026-03-05T04:02:53.522Z","avatar_url":"https://github.com/cloudnode-pro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Hetzner DNS API Client\n\n[![Hetzner DNS API Version](https://shields.io/badge/v1-%23D50C2D?label=Hetnzner%20DNS%20API\u0026logo=hetzner\u0026labelColor=%2324292E)](https://dns.hetzner.com/api-docs/)\n[![Version](https://img.shields.io/npm/v/hetzner-dns-client.svg)](https://npmjs.org/package/hetzner-dns-client)\n[![Downloads](https://img.shields.io/npm/dt/hetzner-dns-client.svg)](https://npmjs.org/package/hetzner-dns-client)\n\nHetzner DNS API client for Node.js\n\n## Installation\n```bash\nnpm i hetzner-dns-client\n```\n\n## Usage\nYou can use this client library with your Node.js project.\n\n### JavaScript Example\n```js\nimport {HetznerDnsClient, DnsRecord} from 'hetzner-dns-client';\n\n// create client instance\nconst client = new HetznerDnsClient(\"YOUR_API_TOKEN\");\n// get zone by ID\nconst zone = await client.zones.get(\"ZONE_ID\");\n// create apex/root zone record of type \"A\" to 127.0.0.1\nconst record = await zone.createRecord(\"@\", DnsRecord.Type.A, \"127.0.0.1\");\n```\n\n### TypeScript Example\n\n```ts\nimport {HetznerDnsClient, DnsRecord, Zone} from 'hetzner-dns-client';\n\n// create client instance\nconst client: HetznerDnsClient = new HetznerDnsClient(\"YOUR_API_TOKEN\");\n// get zone by ID\nconst zone: Zone = await client.zones.get(\"ZONE_ID\");\n// create apex/root zone record of type \"A\" to 127.0.0.1\nconst record: DnsRecord = await zone.createRecord(\"@\", DnsRecord.Type.A, \"127.0.0.1\");\n```\n\n### Handling Errors\nMethods that may throw an error are marked with `throws` in the documentation and specify what error types may be thrown. You can catch these errors with a `try/catch` block.\n\nFor example:\n\n```js\ntry {\n    const zone = await client.zones.get(\"ID that does not exist\");\n}\ncatch (err) {\n    if (err instanceof ApiError)\n        console.error(err); // the Hetzner API returned an error, e.g. \"Zone not found\"\n    else if (err instanceof ClientParseError)\n        console.error(err); // the client could not understand or parse the response from the Hetzner API\n    else\n        console.error(err); // some other error occurred\n}\n```\n\n## API Documentation\nThe official Hetzner DNS API documentation can be found on [https://dns.hetzner.com/api-docs/](https://dns.hetzner.com/api-docs/).\n\n\u003e **Note**: The Hetzner DNS API documentation appears to be incomplete and contains a few errors. The documentation of this client library is a separate documentation and some functionality may be described differently.\n\u003e \n\u003e If you find any errors in the documentation, or think that further clarification is needed, please open an issue or pull request.\n\nThe client library documentation is available in DOCS.md in this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnode-pro%2Fhetzner-dns-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudnode-pro%2Fhetzner-dns-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnode-pro%2Fhetzner-dns-client/lists"}