Skip to content

Latest commit

 

History

History
145 lines (101 loc) · 5.81 KB

README.md

File metadata and controls

145 lines (101 loc) · 5.81 KB

Go API client for domeneshop

Overview

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

Testing period

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.

Authentication

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

Libraries

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.

Overview

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

Installation

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"

Documentation for API Endpoints

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

Documentation For Models

Documentation For Authorization

basicAuth

  • 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)

Author

kundeservice@domeneshop.no