code: func (d *DNSProvider) login() (*response, error) {
  	if d.config.AuthSid != "" {
  		// already logged in
  		return nil, nil
  	}
  
  	response, err := d.postRequest("login", url.Values{"api-key": {d.config.APIKey}})
  	if err != nil {
  		return response, err
  	}
  
  	if response == nil {
  		return nil, fmt.Errorf("login returned nil response")
  	}
  
  	if response.AuthSid == "" {
  		return response, fmt.Errorf("login did not return valid Auth-Sid")
  	}
  
  	d.config.AuthSid = response.AuthSid
  
  	return response, nil
  }
docs: // login performs a login to Joker's DMAPI