Add read-only endpoints #4

Open
opened 2026-05-16 10:02:13 +02:00 by heiko · 1 comment
Owner

Plan 7: Add read-only endpoints

Prerequisites

Plan 6a (type rename) is nice-to-have before this. Plans 6b–6e are NOT required —
all endpoints here are GET with no unusual constraints.

Endpoints to add (api.yaml only, no code changes needed)

logout

- endpoint:
    path: logout
  result:
    BasicResult:

Note: needs Plan 5 (auth-required: false) to work correctly via the generic
dispatcher. Until then it can be added but will attempt cookie auth first.

query-contact-list

Params: pattern (string), from (int), to (int), tld (string),
extended-format (bool)

query-whois

Params: domain (string), contact (string), host (string)
Note: exactly one must be set — see Plan 6d for proper validation.
Until 6d lands, document the constraint in help text.

query-price-list

No params. Returns tab-separated pricing data (Columns header present).

result-list

Params: pending (bool), showall (bool), period (int), date (string),
offset (int), limit (int), status (string), count-only (bool),
rtype (string), objid (string), procid (string),
svtrid (string), cltrid (string)

result-retrieve

Params: svtrid (string, required)

result-delete

Params: svtrid (string, required)
Note: semantically a write but uses GET per the Joker spec.

domain-get-property

Params: domain (string, required), property (string, required)

grants-list

Params: domain (string, required)

dns-zone-list

No params.

dns-zone-get

Params: domain (string, required)

After adding

Run go generate ./... and commit api.yaml + api.go together.

# Plan 7: Add read-only endpoints ## Prerequisites Plan 6a (type rename) is nice-to-have before this. Plans 6b–6e are NOT required — all endpoints here are GET with no unusual constraints. ## Endpoints to add (api.yaml only, no code changes needed) ### logout ```yaml - endpoint: path: logout result: BasicResult: ``` Note: needs Plan 5 (auth-required: false) to work correctly via the generic dispatcher. Until then it can be added but will attempt cookie auth first. ### query-contact-list Params: pattern (string), from (int), to (int), tld (string), extended-format (bool) ### query-whois Params: domain (string), contact (string), host (string) Note: exactly one must be set — see Plan 6d for proper validation. Until 6d lands, document the constraint in help text. ### query-price-list No params. Returns tab-separated pricing data (Columns header present). ### result-list Params: pending (bool), showall (bool), period (int), date (string), offset (int), limit (int), status (string), count-only (bool), rtype (string), objid (string), procid (string), svtrid (string), cltrid (string) ### result-retrieve Params: svtrid (string, required) ### result-delete Params: svtrid (string, required) Note: semantically a write but uses GET per the Joker spec. ### domain-get-property Params: domain (string, required), property (string, required) ### grants-list Params: domain (string, required) ### dns-zone-list No params. ### dns-zone-get Params: domain (string, required) ## After adding Run `go generate ./...` and commit `api.yaml` + `api.go` together.
Author
Owner

AI attribution comment added per repository instruction for this open issue.\n\n(co)authored by ai:gpt-5-codex

AI attribution comment added per repository instruction for this open issue.\n\n(co)authored by ai:gpt-5-codex
Sign in to join this conversation.
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
IUS/joker-dmapi-client#4
No description provided.