{"id":17648918,"url":"https://github.com/sander0542/nginxproxymanager-go","last_synced_at":"2026-05-02T13:32:00.759Z","repository":{"id":249425258,"uuid":"831189018","full_name":"Sander0542/nginxproxymanager-go","owner":"Sander0542","description":"Golang SDK for nginxproxymanager","archived":false,"fork":false,"pushed_at":"2025-11-17T20:52:17.000Z","size":375,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-17T22:08:05.355Z","etag":null,"topics":["golang","nginx-proxy-manager"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sander0542.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":null,"dco":null,"cla":null}},"created_at":"2024-07-19T21:59:55.000Z","updated_at":"2025-11-17T20:38:45.000Z","dependencies_parsed_at":"2024-07-20T18:32:46.702Z","dependency_job_id":"8dedc6bb-27d6-4351-8b38-f5e86d6472d3","html_url":"https://github.com/Sander0542/nginxproxymanager-go","commit_stats":null,"previous_names":["sander0542/nginxproxymanager-go"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Sander0542/nginxproxymanager-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sander0542%2Fnginxproxymanager-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sander0542%2Fnginxproxymanager-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sander0542%2Fnginxproxymanager-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sander0542%2Fnginxproxymanager-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sander0542","download_url":"https://codeload.github.com/Sander0542/nginxproxymanager-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sander0542%2Fnginxproxymanager-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: 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":["golang","nginx-proxy-manager"],"created_at":"2024-10-23T11:22:05.440Z","updated_at":"2026-05-02T13:32:00.735Z","avatar_url":"https://github.com/Sander0542.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go API client for nginxproxymanager\n\nThis is the official API documentation for Nginx Proxy Manager.\n\nMost endpoints require authentication via Bearer Token (JWT). You can generate a token by logging in via the `POST /tokens` endpoint.\n\nFor more information, visit the [Nginx Proxy Manager Documentation](https://nginxproxymanager.com).\n\n## Overview\nThis API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.\n\n- API version: 2.13.4\n- Package version: 1.0.0\n- Generator version: 7.15.0\n- Build package: org.openapitools.codegen.languages.GoClientCodegen\n\n## Installation\n\nInstall the following dependencies:\n\n```sh\ngo get github.com/stretchr/testify/assert\ngo get golang.org/x/net/context\n```\n\nPut the package under your project folder and add the following in import:\n\n```go\nimport nginxproxymanager \"github.com/sander0542/nginxproxymanager-go\"\n```\n\nTo use a proxy, set the environment variable `HTTP_PROXY`:\n\n```go\nos.Setenv(\"HTTP_PROXY\", \"http://proxy_name:proxy_port\")\n```\n\n## Configuration of Server URL\n\nDefault configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.\n\n### Select Server Configuration\n\nFor using other server than the one defined on index 0 set context value `nginxproxymanager.ContextServerIndex` of type `int`.\n\n```go\nctx := context.WithValue(context.Background(), nginxproxymanager.ContextServerIndex, 1)\n```\n\n### Templated Server URL\n\nTemplated server URL is formatted using default variables from configuration or from context value `nginxproxymanager.ContextServerVariables` of type `map[string]string`.\n\n```go\nctx := context.WithValue(context.Background(), nginxproxymanager.ContextServerVariables, map[string]string{\n\t\"basePath\": \"v2\",\n})\n```\n\nNote, enum values are always validated and all unused variables are silently ignored.\n\n### URLs Configuration per Operation\n\nEach operation can use different server URL defined using `OperationServers` map in the `Configuration`.\nAn operation is uniquely identified by `\"{classname}Service.{nickname}\"` string.\nSimilar rules for overriding default operation server index and variables applies by using `nginxproxymanager.ContextOperationServerIndices` and `nginxproxymanager.ContextOperationServerVariables` context maps.\n\n```go\nctx := context.WithValue(context.Background(), nginxproxymanager.ContextOperationServerIndices, map[string]int{\n\t\"{classname}Service.{nickname}\": 2,\n})\nctx = context.WithValue(context.Background(), nginxproxymanager.ContextOperationServerVariables, map[string]map[string]string{\n\t\"{classname}Service.{nickname}\": {\n\t\t\"port\": \"8443\",\n\t},\n})\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://localhost/api*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*AccessListsAPI* | [**CreateAccessList**](docs/AccessListsAPI.md#createaccesslist) | **Post** /nginx/access-lists | Create a Access List\n*AccessListsAPI* | [**DeleteAccessList**](docs/AccessListsAPI.md#deleteaccesslist) | **Delete** /nginx/access-lists/{listID} | Delete a Access List\n*AccessListsAPI* | [**GetAccessList**](docs/AccessListsAPI.md#getaccesslist) | **Get** /nginx/access-lists/{listID} | Get a access List\n*AccessListsAPI* | [**GetAccessLists**](docs/AccessListsAPI.md#getaccesslists) | **Get** /nginx/access-lists | Get all access lists\n*AccessListsAPI* | [**UpdateAccessList**](docs/AccessListsAPI.md#updateaccesslist) | **Put** /nginx/access-lists/{listID} | Update a Access List\n*AuditLogAPI* | [**GetAuditLog**](docs/AuditLogAPI.md#getauditlog) | **Get** /audit-log/{id} | Get Audit Log Event\n*AuditLogAPI* | [**GetAuditLogs**](docs/AuditLogAPI.md#getauditlogs) | **Get** /audit-log | Get Audit Logs\n*CertificatesAPI* | [**CreateCertificate**](docs/CertificatesAPI.md#createcertificate) | **Post** /nginx/certificates | Create a Certificate\n*CertificatesAPI* | [**DeleteCertificate**](docs/CertificatesAPI.md#deletecertificate) | **Delete** /nginx/certificates/{certID} | Delete a Certificate\n*CertificatesAPI* | [**DownloadCertificate**](docs/CertificatesAPI.md#downloadcertificate) | **Get** /nginx/certificates/{certID}/download | Downloads a Certificate\n*CertificatesAPI* | [**GetCertificate**](docs/CertificatesAPI.md#getcertificate) | **Get** /nginx/certificates/{certID} | Get a Certificate\n*CertificatesAPI* | [**GetCertificates**](docs/CertificatesAPI.md#getcertificates) | **Get** /nginx/certificates | Get all certificates\n*CertificatesAPI* | [**GetDNSProviders**](docs/CertificatesAPI.md#getdnsproviders) | **Get** /nginx/certificates/dns-providers | Get DNS Providers for Certificates\n*CertificatesAPI* | [**RenewCertificate**](docs/CertificatesAPI.md#renewcertificate) | **Post** /nginx/certificates/{certID}/renew | Renews a Certificate\n*CertificatesAPI* | [**TestHttpReach**](docs/CertificatesAPI.md#testhttpreach) | **Post** /nginx/certificates/test-http | Test HTTP Reachability\n*CertificatesAPI* | [**UploadCertificate**](docs/CertificatesAPI.md#uploadcertificate) | **Post** /nginx/certificates/{certID}/upload | Uploads a custom Certificate\n*CertificatesAPI* | [**ValidateCertificates**](docs/CertificatesAPI.md#validatecertificates) | **Post** /nginx/certificates/validate | Validates given Custom Certificates\n*Class404HostsAPI* | [**Create404Host**](docs/Class404HostsAPI.md#create404host) | **Post** /nginx/dead-hosts | Create a 404 Host\n*Class404HostsAPI* | [**DeleteDeadHost**](docs/Class404HostsAPI.md#deletedeadhost) | **Delete** /nginx/dead-hosts/{hostID} | Delete a 404 Host\n*Class404HostsAPI* | [**DisableDeadHost**](docs/Class404HostsAPI.md#disabledeadhost) | **Post** /nginx/dead-hosts/{hostID}/disable | Disable a 404 Host\n*Class404HostsAPI* | [**EnableDeadHost**](docs/Class404HostsAPI.md#enabledeadhost) | **Post** /nginx/dead-hosts/{hostID}/enable | Enable a 404 Host\n*Class404HostsAPI* | [**GetDeadHost**](docs/Class404HostsAPI.md#getdeadhost) | **Get** /nginx/dead-hosts/{hostID} | Get a 404 Host\n*Class404HostsAPI* | [**GetDeadHosts**](docs/Class404HostsAPI.md#getdeadhosts) | **Get** /nginx/dead-hosts | Get all 404 hosts\n*Class404HostsAPI* | [**UpdateDeadHost**](docs/Class404HostsAPI.md#updatedeadhost) | **Put** /nginx/dead-hosts/{hostID} | Update a 404 Host\n*ProxyHostsAPI* | [**CreateProxyHost**](docs/ProxyHostsAPI.md#createproxyhost) | **Post** /nginx/proxy-hosts | Create a Proxy Host\n*ProxyHostsAPI* | [**DeleteProxyHost**](docs/ProxyHostsAPI.md#deleteproxyhost) | **Delete** /nginx/proxy-hosts/{hostID} | Delete a Proxy Host\n*ProxyHostsAPI* | [**DisableProxyHost**](docs/ProxyHostsAPI.md#disableproxyhost) | **Post** /nginx/proxy-hosts/{hostID}/disable | Disable a Proxy Host\n*ProxyHostsAPI* | [**EnableProxyHost**](docs/ProxyHostsAPI.md#enableproxyhost) | **Post** /nginx/proxy-hosts/{hostID}/enable | Enable a Proxy Host\n*ProxyHostsAPI* | [**GetProxyHost**](docs/ProxyHostsAPI.md#getproxyhost) | **Get** /nginx/proxy-hosts/{hostID} | Get a Proxy Host\n*ProxyHostsAPI* | [**GetProxyHosts**](docs/ProxyHostsAPI.md#getproxyhosts) | **Get** /nginx/proxy-hosts | Get all proxy hosts\n*ProxyHostsAPI* | [**UpdateProxyHost**](docs/ProxyHostsAPI.md#updateproxyhost) | **Put** /nginx/proxy-hosts/{hostID} | Update a Proxy Host\n*PublicAPI* | [**Health**](docs/PublicAPI.md#health) | **Get** / | Returns the API health status\n*PublicAPI* | [**Schema**](docs/PublicAPI.md#schema) | **Get** /schema | Returns this swagger API schema\n*RedirectionHostsAPI* | [**CreateRedirectionHost**](docs/RedirectionHostsAPI.md#createredirectionhost) | **Post** /nginx/redirection-hosts | Create a Redirection Host\n*RedirectionHostsAPI* | [**DeleteRedirectionHost**](docs/RedirectionHostsAPI.md#deleteredirectionhost) | **Delete** /nginx/redirection-hosts/{hostID} | Delete a Redirection Host\n*RedirectionHostsAPI* | [**DisableRedirectionHost**](docs/RedirectionHostsAPI.md#disableredirectionhost) | **Post** /nginx/redirection-hosts/{hostID}/disable | Disable a Redirection Host\n*RedirectionHostsAPI* | [**EnableRedirectionHost**](docs/RedirectionHostsAPI.md#enableredirectionhost) | **Post** /nginx/redirection-hosts/{hostID}/enable | Enable a Redirection Host\n*RedirectionHostsAPI* | [**GetRedirectionHost**](docs/RedirectionHostsAPI.md#getredirectionhost) | **Get** /nginx/redirection-hosts/{hostID} | Get a Redirection Host\n*RedirectionHostsAPI* | [**GetRedirectionHosts**](docs/RedirectionHostsAPI.md#getredirectionhosts) | **Get** /nginx/redirection-hosts | Get all Redirection hosts\n*RedirectionHostsAPI* | [**UpdateRedirectionHost**](docs/RedirectionHostsAPI.md#updateredirectionhost) | **Put** /nginx/redirection-hosts/{hostID} | Update a Redirection Host\n*ReportsAPI* | [**ReportsHosts**](docs/ReportsAPI.md#reportshosts) | **Get** /reports/hosts | Report on Host Statistics\n*SettingsAPI* | [**GetSetting**](docs/SettingsAPI.md#getsetting) | **Get** /settings/{settingID} | Get a setting\n*SettingsAPI* | [**GetSettings**](docs/SettingsAPI.md#getsettings) | **Get** /settings | Get all settings\n*SettingsAPI* | [**UpdateSetting**](docs/SettingsAPI.md#updatesetting) | **Put** /settings/{settingID} | Update a setting\n*StreamsAPI* | [**CreateStream**](docs/StreamsAPI.md#createstream) | **Post** /nginx/streams | Create a Stream\n*StreamsAPI* | [**DeleteStream**](docs/StreamsAPI.md#deletestream) | **Delete** /nginx/streams/{streamID} | Delete a Stream\n*StreamsAPI* | [**DisableStream**](docs/StreamsAPI.md#disablestream) | **Post** /nginx/streams/{streamID}/disable | Disable a Stream\n*StreamsAPI* | [**EnableStream**](docs/StreamsAPI.md#enablestream) | **Post** /nginx/streams/{streamID}/enable | Enable a Stream\n*StreamsAPI* | [**GetStream**](docs/StreamsAPI.md#getstream) | **Get** /nginx/streams/{streamID} | Get a Stream\n*StreamsAPI* | [**GetStreams**](docs/StreamsAPI.md#getstreams) | **Get** /nginx/streams | Get all streams\n*StreamsAPI* | [**UpdateStream**](docs/StreamsAPI.md#updatestream) | **Put** /nginx/streams/{streamID} | Update a Stream\n*TokensAPI* | [**RefreshToken**](docs/TokensAPI.md#refreshtoken) | **Get** /tokens | Refresh your access token\n*TokensAPI* | [**RequestToken**](docs/TokensAPI.md#requesttoken) | **Post** /tokens | Request a new access token from credentials\n*UsersAPI* | [**CreateUser**](docs/UsersAPI.md#createuser) | **Post** /users | Create a User\n*UsersAPI* | [**DeleteUser**](docs/UsersAPI.md#deleteuser) | **Delete** /users/{userID} | Delete a User\n*UsersAPI* | [**GetUser**](docs/UsersAPI.md#getuser) | **Get** /users/{userID} | Get a user\n*UsersAPI* | [**GetUsers**](docs/UsersAPI.md#getusers) | **Get** /users | Get all users\n*UsersAPI* | [**LoginAsUser**](docs/UsersAPI.md#loginasuser) | **Post** /users/{userID}/login | Login as this user\n*UsersAPI* | [**UpdateUser**](docs/UsersAPI.md#updateuser) | **Put** /users/{userID} | Update a User\n*UsersAPI* | [**UpdateUserAuth**](docs/UsersAPI.md#updateuserauth) | **Put** /users/{userID}/auth | Update a User\u0026#39;s Authentication\n*UsersAPI* | [**UpdateUserPermissions**](docs/UsersAPI.md#updateuserpermissions) | **Put** /users/{userID}/permissions | Update a User\u0026#39;s Permissions\n\n\n## Documentation For Models\n\n - [Create404HostRequest](docs/Create404HostRequest.md)\n - [CreateAccessListRequest](docs/CreateAccessListRequest.md)\n - [CreateAccessListRequestClientsInner](docs/CreateAccessListRequestClientsInner.md)\n - [CreateAccessListRequestClientsInnerAddress](docs/CreateAccessListRequestClientsInnerAddress.md)\n - [CreateAccessListRequestItemsInner](docs/CreateAccessListRequestItemsInner.md)\n - [CreateCertificate400Response](docs/CreateCertificate400Response.md)\n - [CreateCertificate400ResponseError](docs/CreateCertificate400ResponseError.md)\n - [CreateCertificateRequest](docs/CreateCertificateRequest.md)\n - [CreateProxyHostRequest](docs/CreateProxyHostRequest.md)\n - [CreateRedirectionHostRequest](docs/CreateRedirectionHostRequest.md)\n - [CreateStreamRequest](docs/CreateStreamRequest.md)\n - [CreateUserRequest](docs/CreateUserRequest.md)\n - [GetAccessLists200Response](docs/GetAccessLists200Response.md)\n - [GetAuditLog200Response](docs/GetAuditLog200Response.md)\n - [GetAuditLogs200ResponseInner](docs/GetAuditLogs200ResponseInner.md)\n - [GetAuditLogs200ResponseInnerUser](docs/GetAuditLogs200ResponseInnerUser.md)\n - [GetAuditLogs200ResponseInnerUserPermissions](docs/GetAuditLogs200ResponseInnerUserPermissions.md)\n - [GetCertificates200ResponseInner](docs/GetCertificates200ResponseInner.md)\n - [GetCertificates200ResponseInnerMeta](docs/GetCertificates200ResponseInnerMeta.md)\n - [GetDNSProviders200ResponseInner](docs/GetDNSProviders200ResponseInner.md)\n - [GetDeadHosts200ResponseInner](docs/GetDeadHosts200ResponseInner.md)\n - [GetProxyHosts200ResponseInner](docs/GetProxyHosts200ResponseInner.md)\n - [GetProxyHosts200ResponseInnerAccessList](docs/GetProxyHosts200ResponseInnerAccessList.md)\n - [GetProxyHosts200ResponseInnerCertificate](docs/GetProxyHosts200ResponseInnerCertificate.md)\n - [GetProxyHosts200ResponseInnerCertificateId](docs/GetProxyHosts200ResponseInnerCertificateId.md)\n - [GetProxyHosts200ResponseInnerLocationsInner](docs/GetProxyHosts200ResponseInnerLocationsInner.md)\n - [GetRedirectionHosts200ResponseInner](docs/GetRedirectionHosts200ResponseInner.md)\n - [GetRedirectionHosts200ResponseInnerCertificate](docs/GetRedirectionHosts200ResponseInnerCertificate.md)\n - [GetSetting200Response](docs/GetSetting200Response.md)\n - [GetSetting200ResponseValue](docs/GetSetting200ResponseValue.md)\n - [GetSettings200ResponseInner](docs/GetSettings200ResponseInner.md)\n - [GetSettings200ResponseInnerValue](docs/GetSettings200ResponseInnerValue.md)\n - [GetStreams200ResponseInner](docs/GetStreams200ResponseInner.md)\n - [GetStreams200ResponseInnerForwardingHost](docs/GetStreams200ResponseInnerForwardingHost.md)\n - [GetUserUserIDParameter](docs/GetUserUserIDParameter.md)\n - [Health200Response](docs/Health200Response.md)\n - [Health200ResponseVersion](docs/Health200ResponseVersion.md)\n - [LoginAsUser200Response](docs/LoginAsUser200Response.md)\n - [RefreshToken200Response](docs/RefreshToken200Response.md)\n - [ReportsHosts200Response](docs/ReportsHosts200Response.md)\n - [RequestTokenRequest](docs/RequestTokenRequest.md)\n - [TestHttpReachRequest](docs/TestHttpReachRequest.md)\n - [UpdateAccessListRequest](docs/UpdateAccessListRequest.md)\n - [UpdateAccessListRequestItemsInner](docs/UpdateAccessListRequestItemsInner.md)\n - [UpdateDeadHostRequest](docs/UpdateDeadHostRequest.md)\n - [UpdateProxyHostRequest](docs/UpdateProxyHostRequest.md)\n - [UpdateRedirectionHostRequest](docs/UpdateRedirectionHostRequest.md)\n - [UpdateSettingRequest](docs/UpdateSettingRequest.md)\n - [UpdateSettingRequestMeta](docs/UpdateSettingRequestMeta.md)\n - [UpdateStreamRequest](docs/UpdateStreamRequest.md)\n - [UpdateUserAuthRequest](docs/UpdateUserAuthRequest.md)\n - [UpdateUserPermissionsRequest](docs/UpdateUserPermissionsRequest.md)\n - [UpdateUserRequest](docs/UpdateUserRequest.md)\n - [UploadCertificate200Response](docs/UploadCertificate200Response.md)\n - [ValidateCertificates200Response](docs/ValidateCertificates200Response.md)\n - [ValidateCertificates200ResponseCertificate](docs/ValidateCertificates200ResponseCertificate.md)\n - [ValidateCertificates200ResponseCertificateDates](docs/ValidateCertificates200ResponseCertificateDates.md)\n\n\n## Documentation For Authorization\n\n\nAuthentication schemes defined for the API:\n### bearerAuth\n\n- **Type**: HTTP Bearer token authentication\n\nExample\n\n```go\nauth := context.WithValue(context.Background(), nginxproxymanager.ContextAccessToken, \"BEARER_TOKEN_STRING\")\nr, err := client.Service.Operation(auth, args)\n```\n\n\n## Documentation for Utility Methods\n\nDue to the fact that model structure members are all pointers, this package contains\na number of utility functions to easily obtain pointers to values of basic types.\nEach of these functions takes a value of the given basic type and returns a pointer to it:\n\n* `PtrBool`\n* `PtrInt`\n* `PtrInt32`\n* `PtrInt64`\n* `PtrFloat`\n* `PtrFloat32`\n* `PtrFloat64`\n* `PtrString`\n* `PtrTime`\n\n## Author\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsander0542%2Fnginxproxymanager-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsander0542%2Fnginxproxymanager-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsander0542%2Fnginxproxymanager-go/lists"}