API Reference
Overview
The Catch.club API is a RESTful HTTP service. Every request is authenticated with an API key you generate from the API Keys page. Requests and responses are JSON. Permission scopes on your key determine which endpoints you can call.
Base URL
https://api.catch.club/api/v1
Content type
All requests and responses use application/json.
Authentication
Send your API key in the X-API-Key header. Each key is scoped to the permissions you enabled when you created it — calling an endpoint without the matching permission returns a 403.
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: application/json
Endpoints
2 endpoints are unverified. These paths were inferred from permission names and aren't called from the frontend. Confirm before using in production.
Read-only access to public auction details and bid history for a given domain.
GET /public/auction/{domain}
View auction info
Permission
auctions.viewAuctionInfo
Full URL
https://api.catch.club/api/v1/public/auction/{domain}
Path parameters
domain
string required
Fully-qualified domain name (e.g. example.com).
cURL
curl -X GET 'https://api.catch.club/api/v1/public/auction/{domain}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
GET /public/auction/{domain}/bids
View bid history
Permission
auctions.viewBidHistory
Full URL
https://api.catch.club/api/v1/public/auction/{domain}/bids
Path parameters
domain
string required
Fully-qualified domain name (e.g. example.com).
cURL
curl -X GET 'https://api.catch.club/api/v1/public/auction/{domain}/bids' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Search the full catalog of domains currently in auction.
GET /public/domain-auction/search
Search auctions
Permission
domainSearch.searchAuctions
Full URL
https://api.catch.club/api/v1/public/domain-auction/search
Query parameters
page
integer optional
Zero-based page number. Default 0.
size
integer optional
Page size (max per request).
query
string optional
Free-text search query.
cURL
curl -X GET 'https://api.catch.club/api/v1/public/domain-auction/search?page=0&size=50&query=...' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
List your pending backorder requests.
GET /user/backorder/search
Search backorders
Permission
backorders.searchBackorders
Full URL
https://api.catch.club/api/v1/user/backorder/search
Query parameters
page
integer optional
Zero-based page number. Default 0.
size
integer optional
Page size (max per request).
cURL
curl -X GET 'https://api.catch.club/api/v1/user/backorder/search?page=0&size=50' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Place single bids, bulk bids, and bulk-increase existing bids. Live-money actions.
POST /user/bid
Place bid
Permission
bidding.placeBid
Full URL
https://api.catch.club/api/v1/user/bid
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/bid' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/bid/bulk-place
Place bids (bulk)
Permission
bidding.placeBidsBulk
Full URL
https://api.catch.club/api/v1/user/bid/bulk-place
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/bid/bulk-place' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/bid/bulk-increase
Increase bids (bulk)
Permission
bidding.increaseBidsBulk
Full URL
https://api.catch.club/api/v1/user/bid/bulk-increase
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/bid/bulk-increase' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Manage your domain watchlist — create, search, pause/resume, toggle notifications, download, and delete entries.
POST /user/domain/watch/create
Create watch
Permission
domainWatch.create
Full URL
https://api.catch.club/api/v1/user/domain/watch/create
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/domain/watch/create' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/domain/watch/toggle-pause/{id}
Pause / resume
Permission
domainWatch.togglePause
Full URL
https://api.catch.club/api/v1/user/domain/watch/toggle-pause/{id}
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/domain/watch/toggle-pause/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/domain/watch/toggle-notifications/{id}
Toggle notifications
Permission
domainWatch.toggleNotifications
Full URL
https://api.catch.club/api/v1/user/domain/watch/toggle-notifications/{id}
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/domain/watch/toggle-notifications/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
GET /user/domain/watch/download
Download watchlist
Permission
domainWatch.download
Full URL
https://api.catch.club/api/v1/user/domain/watch/download
cURL
curl -X GET 'https://api.catch.club/api/v1/user/domain/watch/download' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
GET /user/domain/watch/download/{id} Unverified
Download individual
Permission
domainWatch.downloadIndividual
Full URL
https://api.catch.club/api/v1/user/domain/watch/download/{id}
Path parameters
id
string required
Resource identifier.
cURL
curl -X GET 'https://api.catch.club/api/v1/user/domain/watch/download/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
DELETE /user/domain/watch/{id}
Delete watch
Permission
domainWatch.delete
Full URL
https://api.catch.club/api/v1/user/domain/watch/{id}
Path parameters
id
string required
Resource identifier.
cURL
curl -X DELETE 'https://api.catch.club/api/v1/user/domain/watch/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Create, search, update, and delete DNS records on your domains.
POST /user/dns
Create record
Permission
dnsManagement.create
Full URL
https://api.catch.club/api/v1/user/dns
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/dns' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
PUT /user/dns/{id}
Update record
Permission
dnsManagement.update
Full URL
https://api.catch.club/api/v1/user/dns/{id}
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X PUT 'https://api.catch.club/api/v1/user/dns/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
DELETE /user/dns/{id}
Delete record
Permission
dnsManagement.delete
Full URL
https://api.catch.club/api/v1/user/dns/{id}
Path parameters
id
string required
Resource identifier.
cURL
curl -X DELETE 'https://api.catch.club/api/v1/user/dns/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Manage default DNS templates that are applied to newly-caught domains.
POST /user/dns/default
Create default
Permission
defaultDns.create
Full URL
https://api.catch.club/api/v1/user/dns/default
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/dns/default' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
PUT /user/dns/default/{id}
Update default
Permission
defaultDns.update
Full URL
https://api.catch.club/api/v1/user/dns/default/{id}
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X PUT 'https://api.catch.club/api/v1/user/dns/default/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
DELETE /user/dns/default/{id}
Delete default
Permission
defaultDns.delete
Full URL
https://api.catch.club/api/v1/user/dns/default/{id}
Path parameters
id
string required
Resource identifier.
cURL
curl -X DELETE 'https://api.catch.club/api/v1/user/dns/default/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
View your current subscription plan and history, subscribe to a new plan, or cancel.
GET /user/plan/my
View my plan
Permission
billingPlan.viewMyPlan
Full URL
https://api.catch.club/api/v1/user/plan/my
cURL
curl -X GET 'https://api.catch.club/api/v1/user/plan/my' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
GET /user/plan/history
View history
Permission
billingPlan.viewHistory
Full URL
https://api.catch.club/api/v1/user/plan/history
cURL
curl -X GET 'https://api.catch.club/api/v1/user/plan/history' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/plan/subscribe
Subscribe
Permission
billingPlan.subscribe
Full URL
https://api.catch.club/api/v1/user/plan/subscribe
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/plan/subscribe' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/plan/cancel
Cancel
Permission
billingPlan.cancel
Full URL
https://api.catch.club/api/v1/user/plan/cancel
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/plan/cancel' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Search invoices, read a single invoice, or pay it.
GET /user/invoice/{id}
View invoice
Permission
invoices.view
Full URL
https://api.catch.club/api/v1/user/invoice/{id}
Path parameters
id
string required
Resource identifier.
cURL
curl -X GET 'https://api.catch.club/api/v1/user/invoice/{id}' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/invoice/{id}/pay
Pay invoice
Permission
invoices.pay
Full URL
https://api.catch.club/api/v1/user/invoice/{id}/pay
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/invoice/{id}/pay' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
POST /user/invoice/{id}/pay/v2 Unverified
Pay invoice (v2)
Permission
invoices.payV2
Full URL
https://api.catch.club/api/v1/user/invoice/{id}/pay/v2
Path parameters
id
string required
Resource identifier.
Request body
This endpoint accepts a JSON body. The exact shape isn't individually documented here — see the section for a worked case.
cURL
curl -X POST 'https://api.catch.club/api/v1/user/invoice/{id}/pay/v2' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .
Search your account transaction history.
Read your account profile — balance, credit limit, email, settings.
GET /user/me
View profile
Permission
accountInfo.viewProfile
Full URL
https://api.catch.club/api/v1/user/me
cURL
curl -X GET 'https://api.catch.club/api/v1/user/me' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'
Response
200 OK
Returns a JSON object. Exact response shape isn't individually documented here — see the section for a worked case. On error, a non-2xx status is returned with an errors array — see .