Domeneshop offers a simple, REST-based API, which currently supports the following features:
- List domains
- List invoices
- Create, read, update and delete DNS records for domains
- Create, read, update and delete HTTP forwards ("WWW forwarding") for domains
- Dynamic DNS (DDNS) update endpoints for use in consumer routers
More features are planned, including:
- Web hosting administration
- Email address and email user/account administration
The API service is in version 0, which means it is possible that the interface will change rapidly during the testing period. For that reason, the documentation on these pages may sometimes be outdated.
Additionally, we make no guarantees about the stability of the API service during this testing period, and therefore ask customers to be careful with using the service for business critical purposes.
The Domeneshop API currently supports only one method of authentication, HTTP Basic Auth. More authentication methods may be added in the future.
To generate credentials, visit <a href="https://www.domeneshop.no/admin?view=api\" target="_blank">this page after logging in to the control panel on our website:
<a href="https://www.domeneshop.no/admin?view=api\" target="_blank">https://www.domeneshop.no/admin?view=api
Domeneshop maintains multiple API libraries to simplify using the API. Please note that these libraries have the same stability guarantees to the API while the API is in version 0.
The libraries may be found in our Github repository.
Domeneshop also maintains a plugin for EFF's Certbot, which automates issuance and renewal of SSL-certificates on your own servers for domains that use Domeneshop's DNS service. This plugin is found in our Github repository here.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: v0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional
Put the package under your project folder and add the following in import:
import "./domeneshop"
All URIs are relative to https://api.domeneshop.no/v0
Class | Method | HTTP request | Description |
---|---|---|---|
DdnsApi | DyndnsUpdateGet | Get /dyndns/update | Update |
DnsApi | DomainsDomainIdDnsPost | Post /domains/{domainId}/dns | Add DNS record |
DnsApi | DomainsDomainIdDnsRecordIdDelete | Delete /domains/{domainId}/dns/{recordId} | Delete DNS record by ID |
DnsApi | DomainsDomainIdDnsRecordIdPut | Put /domains/{domainId}/dns/{recordId} | Update DNS record by ID |
DnsApi | GetDnsRecords | Get /domains/{domainId}/dns | List DNS records |
DnsApi | GetRecordById | Get /domains/{domainId}/dns/{recordId} | Find DNS record by ID |
DomainsApi | DomainsDomainIdGet | Get /domains/{domainId} | Find domain by ID |
DomainsApi | GetDomains | Get /domains | List domains |
ForwardsApi | DomainsDomainIdForwardsGet | Get /domains/{domainId}/forwards/ | List forwards |
ForwardsApi | DomainsDomainIdForwardsHostDelete | Delete /domains/{domainId}/forwards/{host} | Delete forward by host |
ForwardsApi | DomainsDomainIdForwardsHostGet | Get /domains/{domainId}/forwards/{host} | Find forward by host |
ForwardsApi | DomainsDomainIdForwardsHostPut | Put /domains/{domainId}/forwards/{host} | Update forward by host |
ForwardsApi | DomainsDomainIdForwardsPost | Post /domains/{domainId}/forwards/ | Add forward |
InvoicesApi | FindInvoiceByNumber | Get /invoices/{invoiceId} | Find invoice by invoice number |
InvoicesApi | GetInvoices | Get /invoices | List invoices |
- A
- AAllOf
- Aaaa
- AaaaAllOf
- BaseRecord
- Cname
- CnameAllOf
- DnsRecord
- Domain
- DomainServices
- HttpForward
- InlineResponse201
- Invoice
- Mx
- MxAllOf
- Srv
- SrvAllOf
- Txt
- TxtAllOf
- Type: HTTP basic authentication
Example
auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
UserName: "username",
Password: "password",
})
r, err := client.Service.Operation(auth, args)