# GoDaddy

> Manage GoDaddy domains and DNS - list/get domains, check availability, suggest names, and read or update DNS records - via the API v1.

Lets an agent manage your GoDaddy domains and DNS through the API v1: list and get domains, check availability, suggest domain names, read DNS records, and replace or add DNS records. Useful for domain audits and DNS edits from a workflow.

## What it can do

| Method | What it does |
| --- | --- |
| `godaddy_domains_list` | List domains in the account (filter by status). |
| `godaddy_domain_get` | Get details of a domain you own. |
| `godaddy_domain_available` | Check whether a domain is available to register. |
| `godaddy_domains_suggest` | Suggest available domain names from a seed query. |
| `godaddy_dns_records_get` | Get DNS records (optionally by type / name). |
| `godaddy_dns_records_replace` | Replace DNS records (PUT) for the domain or a type/name. |
| `godaddy_dns_records_add` | Add DNS records (PATCH) without removing existing ones. |
| `godaddy_request` | Generic passthrough to any API v1 endpoint for full API coverage. |

## How to get your keys

GoDaddy authenticates with a **key + secret** pair sent as the `Authorization: sso-key {KEY}:{SECRET}` header. Use a **production** key pair - the default test/OTE key talks to a sandbox and will not see your real domains.

1. Sign in and open the [GoDaddy Developer Portal -> Keys](https://developer.godaddy.com/keys).
2. Create a key and choose the **Production** environment (not Test/OTE).
3. Copy the **Key** and the **Secret** - the secret is shown once.
4. Paste both into FlyMyAI.

## Fields to fill

| FlyMyAI field | Where it comes from |
| --- | --- |
| `GODADDY_API_KEY` | GoDaddy Developer Portal -> Keys (Production key) |
| `GODADDY_API_SECRET` | The secret shown when you create the production key pair (kept private) |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the key or secret is wrong, or you used a Test/OTE key. Create a **Production** key pair at developer.godaddy.com/keys.
- **`UNABLE_TO_AUTHENTICATE`** - the `sso-key` header pair is malformed; re-copy both values exactly.
- **Domains list is empty but you own domains** - you are using a test key against the sandbox. Switch to a production key.
- **`422` on DNS replace** - each record needs `type`, `name`, and `data` (plus `ttl`/`priority` where relevant). Remember `godaddy_dns_records_replace` (PUT) overwrites; use `godaddy_dns_records_add` (PATCH) to append.

## Links

- [GoDaddy API documentation](https://developer.godaddy.com/doc)
- [Developer Portal - Keys](https://developer.godaddy.com/keys)
