Need Value Explained For API Access to have Yuno Set DNS Records - NameCheap

I have set up Yuno Host inside of my virtual environment consisting of Proxmox running on a cluster of 12 bare metal servers. The setup has been completed, the software is patched, and the apps deploy as expected.

I am beginning to dial in the software to suit our needs and hung up on a value that is required, that I do not know what it is. The documentation page for Namecheap is not currently available, and while this is an experimental feature, I would like to assist in bashing it out. I have tried both the sandbox, and the production API URL, and I have been using the namecheap API for nearly a decade now and use production as that is where my domains are parked. I have also reached out to Namecheap support who has no idea what this value is supposed to be.

I believe the following things to be true, if we can confirm it, I will update the documentation to reflect that.

Authentication token = API Key
domain_config_auth_username = Name Cheap Account Username
domain_config_auth_client_ip = IP address of the Yuno Host instance
domain_config_auth_sandbox = I don’t know what this is, but I believe it is supposed to be the URL to make the API call against and should be one of two values: 1. https://api.sandbox.namecheap.com/xml.response or 1. https://api.namecheap.com/xml.response

I have tried both of them and yields the same response:

Failed to authenticate on registrar’s API. Most probably the credentials are incorrect? (Error: Authentication failed: 0 - Unknown exception )

This is unusual because these are the API credentials from Namecheap directly and they work elsewhere. I do not not have any domains parked in sandbox to test with, only in production. If someone could enlighten me on what that value should be, I would appreciate it, and if that is supposed to be the API URL, it should include Production and Sandbox, and be labelled "API_PRODUCTION_URL or API_SANDBOX_URL or similar.

Thank you very much and thank you for all you do.

So I had this issue and through some searching I found that yunohost uses lexicon for this.

In their code I found the following info for namecheap:

namecheap

        auth_token Specify api token for authentication
        auth_username Specify username for authentication
        auth_client_ip Client ip address to send to namecheap api calls
        auth_sandbox Whether to use the sandbox server

So auth_sandbox needs to be set as a boolean, either True or False (the first letter needs to be capitalized since lexicon is written in python). After setting this along with the values you showed above it successfully authenticated.

It looks like it didn’t automatically update the dns records for me, though. looking into why now, but maybe you (or others) will have better luck.

2 Likes

Hi d34d,

Thanks for taking the trouble to register an account to write down your findings!

Both of you, welcome to the forums, have fun with your Yunohosts :slight_smile:

Well, the issue is it tries to use the sandbox api, even if you put True/False, it makes no difference so i guess its a parsing error. When i went in to edit the lexicon code to only set it to the production endpoint, it worked.

For now i will just do it manually in the namecheap config on the site, because its asking to delete some important records, does anyone know how to tweak the dns records required, on Yunohosts end? so i can add it there instead of the official portal.