Implement Domains mixin (CRUD, availability, purchase) #3

Open
opened 2026-06-13 14:01:56 +00:00 by ldraney · 0 comments
Owner

Type

Feature

Lineage

Depends on #1 (scaffold). P1 priority.

Repo

ldraney/godaddy-sdk

User Story

As a developer
I want to manage domains programmatically
So that domain operations are scriptable and MCP-accessible

Context

~20 endpoints in the domains swagger spec covering domain listing, availability checking, purchase, renewal, transfer, privacy, contacts. The DNS record endpoints are carved out into the separate DNSMixin (#2).

File Targets

  • src/godaddy_sdk/domains.pyDomainsMixin
  • tests/test_domains.py — integration tests
  • docs/domains.md — endpoint reference

Feature Flag

None.

Acceptance Criteria

  • client.list_domains() returns owned domains
  • client.get_domain("palinks.app") returns domain details
  • client.check_availability("example.com") returns availability
  • All non-destructive domain endpoints covered

Test Expectations

  • Integration test: list domains
  • Integration test: check availability

Constraints

  • Skip purchase/transfer/delete in initial implementation (destructive, need careful testing)

Checklist

  • DomainsMixin implemented
  • Integration tests (read-only endpoints)
  • docs/domains.md
  • project-godaddy-sdk
### Type Feature ### Lineage Depends on #1 (scaffold). P1 priority. ### Repo `ldraney/godaddy-sdk` ### User Story As a developer I want to manage domains programmatically So that domain operations are scriptable and MCP-accessible ### Context ~20 endpoints in the domains swagger spec covering domain listing, availability checking, purchase, renewal, transfer, privacy, contacts. The DNS record endpoints are carved out into the separate DNSMixin (#2). ### File Targets - `src/godaddy_sdk/domains.py` — `DomainsMixin` - `tests/test_domains.py` — integration tests - `docs/domains.md` — endpoint reference ### Feature Flag None. ### Acceptance Criteria - [ ] `client.list_domains()` returns owned domains - [ ] `client.get_domain("palinks.app")` returns domain details - [ ] `client.check_availability("example.com")` returns availability - [ ] All non-destructive domain endpoints covered ### Test Expectations - [ ] Integration test: list domains - [ ] Integration test: check availability ### Constraints - Skip purchase/transfer/delete in initial implementation (destructive, need careful testing) ### Checklist - [ ] DomainsMixin implemented - [ ] Integration tests (read-only endpoints) - [ ] docs/domains.md ### Related - `project-godaddy-sdk`
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/godaddy-sdk#3
No description provided.