Creatures API
Overview
Read-only public data from Creatures. Responses are identical for every anonymous caller. Clients ignore unknown fields, tolerate unknown enum values and kinds, treat ids as opaque, follow moved answers and keep paging while has_more is true. Do not depend on field order or ranking. Sync passes do not report deletions or records that become hidden: a client that caches must re-validate each item with GET at least every 24 hours, and a 404 means remove it. Every error is application/problem+json (RFC 9457). v1 changes are additive only.
Base URL: https://creatures.com/api/v1. No API key or Creatures account is needed for public reads.
Browser GET and HEAD requests support CORS with Access-Control-Allow-Origin: *. See the
OpenAPI document for the complete machine-readable contract.
Rate limits and errors
Anonymous REST requests are limited to 60 per minute and 1000 per hour, per IP address.
A 429 response includes Retry-After: wait that many seconds before retrying.
Errors use application/problem+json with a status, code and human-readable detail.
Rate-limit responses also include RateLimit and RateLimit-Policy headers.
Terms
Use of the API is covered by the Creatures Terms and Privacy Policy.
Endpoints
GET /api/v1/listings
List public animal listings
| Parameter | Location, type and description |
|---|---|
status |
query; optionalstring; one of ["active","sold","all"]active (default): listings for sale, as on /marketplace. sold: sold listings, as on /marketplace/sold, most recently sold first. all: every lot of one event that passes the listing get gate, in the organizer's order; only with event, and with no other filter or sort. |
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
breed |
query; optionalstring; min length 1; max length 100Breed id (<species>.<breed>), a bare breed slug with species, or a name. |
sex |
query; optionalstring; one of ["male","female","unknown"] |
sale_type |
query; optionalstring; one of ["fixed_price","auction"] |
state |
query; optionalstring; min length 2; max length 60US state or Canadian province (code or name). |
near |
query; optionalstring; min length 2; max length 100A place the user is asking about, e.g. 'Austin, TX'; not the caller's own location. |
radius_mi |
query; optionalinteger; min 1; max 500 |
price_min |
query; optionalinteger; min 0; max 10000000000Minor units (cents). |
price_max |
query; optionalinteger; min 0; max 10000000000Minor units (cents). |
registered |
query; optionalboolean |
event |
query; optionalstring; pattern ^[0-9A-Za-z]{8}$A sale_event id. |
seller |
query; optionalstring; pattern ^(user:|org:|org_)[0-9A-Za-z]{8}$The account the listing is sold under: user:<id>, org:<id> or breeder org_<id>. A member listing an org-owned animal uses the member user:<id>, even when the displayed seller is the org. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["newest","ending_soon","price_asc","price_desc","recently_sold","relevance"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.listing304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable, search-unavailable.
GET /api/v1/listings/{id}
Get one public listing
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKlisting.full304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/animals
List public animals
| Parameter | Location, type and description |
|---|---|
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
breed |
query; optionalstring; min length 1; max length 100Breed id (<species>.<breed>), a bare breed slug with species, or a name. |
sex |
query; optionalstring; one of ["male","female","unknown"] |
state |
query; optionalstring; min length 2; max length 60US state or Canadian province (code or name). |
registered |
query; optionalboolean |
has_listing |
query; optionalbooleantrue: has an active public listing. |
born_from |
query; optionalinteger; min 1900; max 2100 |
born_to |
query; optionalinteger; min 1900; max 2100 |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["newest","name","updated"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.animal304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/animals/{id}
Get one public animal
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKanimal.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/breeders
List public breeders
| Parameter | Location, type and description |
|---|---|
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
breed |
query; optionalstring; min length 1; max length 100Breed id (<species>.<breed>), a bare breed slug with species, or a name. |
state |
query; optionalstring; min length 2; max length 60US state or Canadian province (code or name). |
source |
query; optionalarray<string; one of ["claimed","directory"]>; max items 2Restrict to these sources. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["claimed_first","name"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.breeder304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/breeders/{id}
Get one public breeder
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKbreeder.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/providers
List public service providers in one category
| Parameter | Location, type and description |
|---|---|
category |
query; optionalstring; min length 1; max length 60Provider category key or name; required. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
state |
query; optionalstring; min length 2; max length 60US state or Canadian province (code or name). |
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
source |
query; optionalarray<string; one of ["directory","claimed","platform"]>; max items 3Restrict to these sources. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["default","name"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.provider304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, filter-required, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/providers/{id}
Get one public service provider
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKprovider.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/species
List species
| Parameter | Location, type and description |
|---|---|
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
featured |
query; optionalbooleantrue: species the site features. |
has_supply |
query; optionalbooleantrue: at least one public active listing or public breeder. Cannot be combined with updated_since or sync_after because supply changes do not stamp species updates. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["featured","title"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.species304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/species/{id}
Get one species
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKspecies.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/breeds
List breeds of a species
| Parameter | Location, type and description |
|---|---|
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
generic |
query; optionalbooleanfalse: hide generic breeds. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["title","popular"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.breed304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, filter-required, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/breeds/{id}
Get one breed
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKbreed.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/articles
List public articles
| Parameter | Location, type and description |
|---|---|
source |
query; optionalarray<string; one of ["learn","news","species_guide","help_center"]>; max items 4Restrict to these sources. |
section |
query; optionalstring; pattern ^[a-z0-9][a-z0-9-]{0,59}$Section slug. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
breed |
query; optionalstring; min length 1; max length 100Breed id (<species>.<breed>), a bare breed slug with species, or a name. |
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["updated","published"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.article304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/articles/{id}
Get one public article
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKarticle.full304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/tools
List public tools
| Parameter | Location, type and description |
|---|---|
tool_type |
query; optionalstring; one of ["name_generator","org_name_generator","gestation_calculator","weight_calculator","coat_color_calculator","coat_color_visualizer","livestock_value_calculator","pedigree_chart_maker","brand_generator","brand_ideas","brand_registration","genetics_calculator"] |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
q |
query; optionalstring; min length 1; max length 100Free text, 1-100 characters. |
sort |
query; optionalstring; one of ["title"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.tool304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/tools/{id}
Get one public tool
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKtool.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/sale-events
List public sale events
| Parameter | Location, type and description |
|---|---|
phase |
query; optionalstring; one of ["upcoming","live","ended"]Clock-derived event phase. Cannot be combined with updated_since or sync_after because phase changes do not update the sync stamp. |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
sale_type |
query; optionalstring; one of ["auction","fixed_price"] |
updated_since |
query; optionalstring; format date-time |
sync_after |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
sort |
query; optionalstring; one of ["site"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.sale_event304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-watermark, sync-reset, unknown-filter, ambiguous-filter, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/sale-events/{id}
Get one public sale event
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKsale_event.full304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/platform-facts
List platform facts
| Parameter | Location, type and description |
|---|---|
sort |
query; optionalstring; one of ["topic"] |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKenvelope.list.platform_fact304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor, invalid-include.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/platform-facts/{id}
Get one platform fact
| Parameter | Location, type and description |
|---|---|
id |
path; requiredstring; pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$The resource id. Opaque: never parse it. |
include |
query; optionalarray<string; pattern ^[a-z_]{1,40}$>; max items 3 |
200: OKplatform_fact.full301: Moved: this id was replaced by the resource named in Location and moved_to.common.problem304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-include.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/search
Search public records across kinds
| Parameter | Location, type and description |
|---|---|
q |
query; requiredstring; min length 1; max length 100Free text, 1-100 characters. |
kinds |
query; optionalarray<string; one of ["listing","animal","breeder","provider","species","breed","article","tool","sale_event","platform_fact"]>; max items 10 |
limit |
query; optionalinteger; min 1; max 50 |
cursor |
query; optionalstring; pattern ^[A-Za-z0-9_-]{16,2048}$ |
200: OKenvelope.search304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, invalid-cursor.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable, search-unavailable.
GET /api/v1/lookup
Turn a creatures.com page URL into a kind and id
| Parameter | Location, type and description |
|---|---|
url |
query; requiredstring; min length 8; max length 2048 |
200: OKcommon.lookup_result304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter.401: Problem codes: invalid-token.404: Problem codes: not-found.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/resolve
Resolve a species, breed or category name
| Parameter | Location, type and description |
|---|---|
q |
query; requiredstring; min length 1; max length 100Free text, 1-100 characters. |
kinds |
query; optionalarray<string; one of ["species","breed","category"]>; max items 3 |
species |
query; optionalstring; min length 1; max length 100Species id or name (a name is resolved; programmatic clients send ids). |
200: OKcommon.resolve_result304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter, unknown-filter, ambiguous-filter.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
GET /api/v1/openapi.json
This OpenAPI document
No parameters.
200: OKobject304: Not modified: If-None-Match matched the ETag.400: Problem codes: invalid-parameter, unknown-parameter.401: Problem codes: invalid-token.405: Problem codes: method-not-allowed.429: Problem codes: rate-limited.500: Problem codes: internal.503: Problem codes: unavailable.
Resource kinds
These tables describe each full resource view. Dotted field names show nested objects; [] shows array items.
Named schema references are expanded one level. Deeper references are shown by their OpenAPI component name.
Listing listing.full
| Field | Type and description |
|---|---|
kindKind |
string; value "listing" |
idId |
string; pattern ^[0-9A-Za-z]{8}$ |
titleTitle |
string; max length 200The animal's display name. |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
statusStatus code |
string | nullPublic status, never the stored one: scheduled = auction start in the future; ending = past its close time, awaiting the close job; sale_pending = reserved or in payment. Known values: active, scheduled, ending, sale_pending, auction_won, sold, reserve_not_met, ended_no_bids, cancelled, paused. Clients must accept values not listed. |
status_labelStatus |
string | null |
sale_typeSale type |
string | nullKnown values: fixed_price, auction. Clients must accept values not listed. |
pricePrice |
common.money | nullFixed price; for an auction the current bid, else the starting bid; for a sold listing the sale amount. |
price.amountAmount |
integer |
price.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
price.displayDisplay |
string |
buy_now_priceBuy now price |
common.money | nullSet only while buy now is available (active, no bids). |
buy_now_price.amountAmount |
integer |
buy_now_price.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
buy_now_price.displayDisplay |
string |
bid_countBids |
integer | nullAuctions only. |
starts_atAuction starts |
string | null; format date-time |
ends_atAuction ends |
string | null; format date-time |
speciesSpecies |
common.ref | null |
species.kindKind |
string |
species.idId |
string |
species.titleTitle |
string |
species.urlUrl |
string | null; format uri |
breedBreed |
common.ref | nullNull for the placeholder breed. |
breed.kindKind |
string |
breed.idId |
string |
breed.titleTitle |
string |
breed.urlUrl |
string | null; format uri |
genetics_labelReported genetics |
string | null |
breed_makeup_labelBreed makeup |
string | null |
sexSex code |
string | nullRaw sex; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
age_labelAge |
string | null |
registriesRegistries |
array<string>; max items 5Labels of public registrations only. |
registries_truncatedRegistries truncated |
boolean | null |
locationLocation |
common.location | null |
location.cityCity |
string | null |
location.regionRegion |
string | null |
location.region_nameRegion name |
string | null |
location.countryCountry |
string | null |
sellerSeller |
common.seller_ref | nullidentity_verified is null in the summary and set in the full view. |
seller.kindKind |
stringKnown values: user, org. Clients must accept values not listed. |
seller.idId |
string |
seller.titleTitle |
string |
seller.urlUrl |
string; format uri |
seller.avatarAvatar |
common.avatar | null |
seller.ratingRating |
common.rating | null |
seller.identity_verifiedIdentity verified |
boolean | null |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
no_buyer_feeNo buyer fee |
boolean | null |
sale_eventSale event |
common.ref | sale_event.summary | nullNull unless the event is public; include=sale_event gives its summary. |
sale_event.kindKind |
string |
sale_event.idId |
string |
sale_event.titleTitle |
string |
sale_event.urlUrl |
string | null; format uri |
sale_event.kindKind |
string; value "sale_event" |
sale_event.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
sale_event.titleTitle |
string; max length 200 |
sale_event.urlPage |
string; format uri |
sale_event.updated_atUpdated |
string; format date-time |
sale_event.phasePhase |
string | nullFrom the start and close times, as the event page shows it; never the stored status. Known values: upcoming, live, ended. Clients must accept values not listed. |
sale_event.sale_typeSale type |
string | nullfixed_price for events of the stored standard type, which accept fixed-price listings. Known values: auction, fixed_price. Clients must accept values not listed. |
sale_event.starts_atStarts |
string | null; format date-time |
sale_event.ends_atEnds |
string | null; format date-time |
sale_event.speciesSpecies |
array<common.ref>; max items 10Empty means the event accepts every species. |
sale_event.species_truncatedSpecies truncated |
boolean | null |
sale_event.organizerOrganizer |
common.actor_ref | null |
sale_event.summarySummary |
string | null; max length 300The teaser, else the description, as plain text. |
sale_event.summary_truncatedSummary truncated |
boolean | null |
sale_event.imageImage |
common.image | null |
sale_event.active_lot_countActive lots |
integer | null; min 0The number of listings /api/v1/listings?event=<id> returns; it can be lower than the count on the events page. |
descriptionDescription |
string | null; max length 4000The seller's text with Markdown and HTML shown literally; internal links only; mentions of public accounts as their names (A2.6). |
description_truncatedDescription truncated |
boolean | null |
mediaMedia |
array<common.media_item>; max items 12 |
media_truncatedMedia truncated |
boolean | nullTrue when the listing has more than 12 public media files (C5.1 capped list). |
animalAnimal |
common.ref | animal.summary | nullNull unless the animal is public; include=animal gives its summary. |
animal.kindKind |
string |
animal.idId |
string |
animal.titleTitle |
string |
animal.urlUrl |
string | null; format uri |
animal.kindKind |
string; value "animal" |
animal.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
animal.titleName |
string; max length 200 |
animal.urlPage |
string; format uri |
animal.updated_atUpdated |
string; format date-time |
animal.profile_typeProfile type |
string | nullowned: a profile someone keeps; reference: added to document lineage and not claimed yet; awaiting_claim: sold and waiting for its new owner to claim it. Known values: owned, reference, awaiting_claim. Clients must accept values not listed. |
animal.speciesSpecies |
common.ref | null |
animal.breedBreed |
common.ref | null |
animal.genetics_labelReported genetics |
string | null |
animal.geneticsReported genetic states |
array<common.genetic_state>; max items 512Member assertions, without linked-record identifiers or metadata. |
animal.breed_makeup_labelBreed makeup |
string | nullThe makeup label the animal cards print, for example 1/2 Nubian, 1/2 Boer. |
animal.sexSex |
string | nullThe raw enum; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
animal.sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
animal.birthBorn |
common.partial_date | null |
animal.age_labelAge |
string | null |
animal.deceasedDeceased |
boolean | null |
animal.registered_nameRegistered name |
string | nullFrom public registry records only (the herdbook rule); never a name whose source record is private. |
animal.locationLocation |
common.location | nullThe animal's own location only. |
animal.imagePhoto |
common.image | null |
animal.listingFor sale |
common.ref | listing.summary | nullThe animal's active public listing, or null. include=listing replaces the ref with the listing summary. |
color_labelColor |
string | null |
birthBorn |
common.partial_date | null |
birth.dateDate |
string; pattern ^\d{4}(-\d{2}(-\d{2})?)?$ |
birth.precisionPrecision |
stringKnown values: year, month, day. Clients must accept values not listed. |
sterilizedSterilized |
boolean | null |
parentsParents |
object | null |
parents.sireSire |
common.ref | null |
parents.sire.kindKind |
string |
parents.sire.idId |
string |
parents.sire.titleTitle |
string |
parents.sire.urlUrl |
string | null; format uri |
parents.damDam |
common.ref | null |
parents.dam.kindKind |
string |
parents.dam.idId |
string |
parents.dam.titleTitle |
string |
parents.dam.urlUrl |
string | null; format uri |
auctionAuction |
object | nullAuctions only. Money in integer cents (A2.4): min_next_bid = (current bid, else starting bid) + increment. |
auction.starting_bidStarting bid |
common.money | null |
auction.starting_bid.amountAmount |
integer |
auction.starting_bid.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
auction.starting_bid.displayDisplay |
string |
auction.current_bidCurrent bid |
common.money | null |
auction.current_bid.amountAmount |
integer |
auction.current_bid.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
auction.current_bid.displayDisplay |
string |
auction.bid_countBids |
integer | null |
auction.min_next_bidMinimum next bid |
common.money | null |
auction.min_next_bid.amountAmount |
integer |
auction.min_next_bid.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
auction.min_next_bid.displayDisplay |
string |
auction.incrementBid increment |
common.money | null |
auction.increment.amountAmount |
integer |
auction.increment.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
auction.increment.displayDisplay |
string |
auction.reserveReserve |
object | null |
auction.reserve.has_reserveHas a reserve |
boolean | null |
auction.reserve.metReserve met |
boolean | null |
auction.buy_now_priceBuy now price |
common.money | null |
auction.buy_now_price.amountAmount |
integer |
auction.buy_now_price.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
auction.buy_now_price.displayDisplay |
string |
auction.starts_atStarts |
string | null; format date-time |
auction.ends_atEnds |
string | null; format date-time |
auction.soft_closeSoft close |
object | null |
auction.soft_close.trigger_window_secondsTrigger window (seconds) |
integer | null |
auction.soft_close.extension_secondsExtension (seconds) |
integer | null |
fulfillmentFulfillment |
object | null |
fulfillment.pickupPickup |
boolean | null |
fulfillment.deliverySeller delivery |
object | null |
fulfillment.delivery.baseBase rate |
common.money | null |
fulfillment.delivery.base.amountAmount |
integer |
fulfillment.delivery.base.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
fulfillment.delivery.base.displayDisplay |
string |
fulfillment.delivery.per_milePer mile |
common.money | null |
fulfillment.delivery.per_mile.amountAmount |
integer |
fulfillment.delivery.per_mile.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
fulfillment.delivery.per_mile.displayDisplay |
string |
fulfillment.delivery.max_milesMaximum miles |
integer | null |
fulfillment.transport_quote_availableTransport quote available |
boolean | null |
boardingBoarding |
object | null |
boarding.requiredBoarding required |
boolean | null |
boarding.monthly_totalMonthly total |
common.money | null |
boarding.monthly_total.amountAmount |
integer |
boarding.monthly_total.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
boarding.monthly_total.displayDisplay |
string |
boarding.min_monthsMinimum months |
integer | null |
boarding.included_monthsIncluded months |
integer | null |
requires_buyer_approvalBuyer approval required |
boolean | null |
accepts_offersAccepts offers |
boolean | null |
availability_confirmedAvailability confirmed |
boolean | nullFalse when the seller has not recently confirmed an active listing is still available; null when not active. |
soldSale |
object | null |
sold.sold_atSold |
string | null; format date-time |
sold.sale_amountSale amount |
common.money | null |
sold.sale_amount.amountAmount |
integer |
sold.sale_amount.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
sold.sale_amount.displayDisplay |
string |
sold.purchase_typePurchase type |
string | nullKnown values: fixed_price, offer, buy_now, auction. Clients must accept values not listed. |
Animal animal.full
| Field | Type and description |
|---|---|
kindKind |
string; value "animal" |
idId |
string; pattern ^[0-9A-Za-z]{8}$ |
titleName |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
profile_typeProfile type |
string | nullowned: a profile someone keeps; reference: added to document lineage and not claimed yet; awaiting_claim: sold and waiting for its new owner to claim it. Known values: owned, reference, awaiting_claim. Clients must accept values not listed. |
speciesSpecies |
common.ref | null |
species.kindKind |
string |
species.idId |
string |
species.titleTitle |
string |
species.urlUrl |
string | null; format uri |
breedBreed |
common.ref | null |
breed.kindKind |
string |
breed.idId |
string |
breed.titleTitle |
string |
breed.urlUrl |
string | null; format uri |
genetics_labelReported genetics |
string | null |
geneticsReported genetic states |
array<common.genetic_state>; max items 512Member assertions, without linked-record identifiers or metadata. |
genetics[].definitionDefinition |
common.ref | null |
genetics[].nameName |
string |
genetics[].kindKind |
stringKnown values: gene, phenotype, trait. Clients must accept values not listed. |
genetics[].stateState |
stringKnown values: homozygous, heterozygous, hemizygous, present, possible, absent, unresolved. Clients must accept values not listed. |
genetics[].labelLabel |
string |
genetics[].evidenceEvidence |
stringKnown values: visual, owner_reported, breeding_proven, dna_tested, pedigree_derived, registry_imported. Clients must accept values not listed. |
genetics[].evidence_labelEvidence label |
string |
genetics[].backed_by_recordBacked by record |
boolean |
genetics[].reported_probabilityReported probability |
string | nullThe member's reported percentage, never a computed prediction. |
genetics[].probability_basisProbability basis |
string | nullKnown values: pedigree_odds, breeder_paperwork, custom. Clients must accept values not listed. |
genetics[].statusStatus |
stringKnown values: current, disputed. Clients must accept values not listed. |
genetics[].original_wordingOriginal wording |
string | null; max length 4000 |
genetics[].source_referenceSource reference |
string | null; max length 4000 |
genetics[].reported_atReported at |
string | null; format date |
genetics[].test_scopeTest scope |
string | null; max length 4000 |
genetics[].noteNote |
string | null; max length 4000 |
genetics[].risksRisks |
array<object> |
genetics[].risks[].certaintyCertainty |
stringKnown values: deterministic, reported, unknown. Clients must accept values not listed. |
genetics[].risks[].effectEffect |
stringKnown values: nonviable, health, fertility, unknown. Clients must accept values not listed. |
genetics[].risks[].descriptionDescription |
string |
breed_makeup_labelBreed makeup |
string | nullThe makeup label the animal cards print, for example 1/2 Nubian, 1/2 Boer. |
sexSex |
string | nullThe raw enum; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
birthBorn |
common.partial_date | null |
birth.dateDate |
string; pattern ^\d{4}(-\d{2}(-\d{2})?)?$ |
birth.precisionPrecision |
stringKnown values: year, month, day. Clients must accept values not listed. |
age_labelAge |
string | null |
deceasedDeceased |
boolean | null |
registered_nameRegistered name |
string | nullFrom public registry records only (the herdbook rule); never a name whose source record is private. |
locationLocation |
common.location | nullThe animal's own location only. |
location.cityCity |
string | null |
location.regionRegion |
string | null |
location.region_nameRegion name |
string | null |
location.countryCountry |
string | null |
imagePhoto |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
listingFor sale |
common.ref | listing.summary | nullThe animal's active public listing, or null. include=listing replaces the ref with the listing summary. |
listing.kindKind |
string |
listing.idId |
string |
listing.titleTitle |
string |
listing.urlUrl |
string | null; format uri |
listing.kindKind |
string; value "listing" |
listing.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
listing.titleTitle |
string; max length 200The animal's display name. |
listing.urlPage |
string; format uri |
listing.updated_atUpdated |
string; format date-time |
listing.statusStatus code |
string | nullPublic status, never the stored one: scheduled = auction start in the future; ending = past its close time, awaiting the close job; sale_pending = reserved or in payment. Known values: active, scheduled, ending, sale_pending, auction_won, sold, reserve_not_met, ended_no_bids, cancelled, paused. Clients must accept values not listed. |
listing.status_labelStatus |
string | null |
listing.sale_typeSale type |
string | nullKnown values: fixed_price, auction. Clients must accept values not listed. |
listing.pricePrice |
common.money | nullFixed price; for an auction the current bid, else the starting bid; for a sold listing the sale amount. |
listing.buy_now_priceBuy now price |
common.money | nullSet only while buy now is available (active, no bids). |
listing.bid_countBids |
integer | nullAuctions only. |
listing.starts_atAuction starts |
string | null; format date-time |
listing.ends_atAuction ends |
string | null; format date-time |
listing.speciesSpecies |
common.ref | null |
listing.breedBreed |
common.ref | nullNull for the placeholder breed. |
listing.genetics_labelReported genetics |
string | null |
listing.breed_makeup_labelBreed makeup |
string | null |
listing.sexSex code |
string | nullRaw sex; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
listing.sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
listing.age_labelAge |
string | null |
listing.registriesRegistries |
array<string>; max items 5Labels of public registrations only. |
listing.registries_truncatedRegistries truncated |
boolean | null |
listing.locationLocation |
common.location | null |
listing.sellerSeller |
common.seller_ref | nullidentity_verified is null in the summary and set in the full view. |
listing.imageImage |
common.image | null |
listing.no_buyer_feeNo buyer fee |
boolean | null |
listing.sale_eventSale event |
common.ref | sale_event.summary | nullNull unless the event is public; include=sale_event gives its summary. |
aboutAbout |
string | null; max length 4000The owner's text with Markdown and HTML syntax escaped (A2.6). |
about_truncatedAbout truncated |
boolean | null |
color_labelColor |
string | null |
sterilized_labelSterilized |
string | nullSpayed, Neutered or Sterilized as the page shows it; null when not sterilized or already implied by the sex word. |
deathDied |
object | null |
death.dateDate |
common.partial_date | null |
death.date.dateDate |
string; pattern ^\d{4}(-\d{2}(-\d{2})?)?$ |
death.date.precisionPrecision |
stringKnown values: year, month, day. Clients must accept values not listed. |
death.labelLabel |
string | null |
ownersOwners |
array<common.actor_ref>; max items 20Owner and co-owner actors in good standing, org first; team, boarding-provider and previous-owner (custodian) rows are never listed. |
owners[].kindKind |
stringKnown values: user, org. Clients must accept values not listed. |
owners[].idId |
string; pattern ^[0-9A-Za-z]{8}$ |
owners[].titleTitle |
string |
owners[].urlUrl |
string; format uri |
owners[].avatarAvatar |
common.avatar | null |
owners_truncatedOwners truncated |
boolean | null |
parentsParents |
object | nullSire and dam when each is public; include=parents replaces each ref with its summary. |
parents.sireSire |
common.ref | animal.summary | null |
parents.sire.kindKind |
string |
parents.sire.idId |
string |
parents.sire.titleTitle |
string |
parents.sire.urlUrl |
string | null; format uri |
parents.sire.kindKind |
string; value "animal" |
parents.sire.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
parents.sire.titleName |
string; max length 200 |
parents.sire.urlPage |
string; format uri |
parents.sire.updated_atUpdated |
string; format date-time |
parents.sire.profile_typeProfile type |
string | nullowned: a profile someone keeps; reference: added to document lineage and not claimed yet; awaiting_claim: sold and waiting for its new owner to claim it. Known values: owned, reference, awaiting_claim. Clients must accept values not listed. |
parents.sire.speciesSpecies |
common.ref | null |
parents.sire.breedBreed |
common.ref | null |
parents.sire.genetics_labelReported genetics |
string | null |
parents.sire.geneticsReported genetic states |
array<common.genetic_state>; max items 512Member assertions, without linked-record identifiers or metadata. |
parents.sire.breed_makeup_labelBreed makeup |
string | nullThe makeup label the animal cards print, for example 1/2 Nubian, 1/2 Boer. |
parents.sire.sexSex |
string | nullThe raw enum; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
parents.sire.sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
parents.sire.birthBorn |
common.partial_date | null |
parents.sire.age_labelAge |
string | null |
parents.sire.deceasedDeceased |
boolean | null |
parents.sire.registered_nameRegistered name |
string | nullFrom public registry records only (the herdbook rule); never a name whose source record is private. |
parents.sire.locationLocation |
common.location | nullThe animal's own location only. |
parents.sire.imagePhoto |
common.image | null |
parents.sire.listingFor sale |
common.ref | listing.summary | nullThe animal's active public listing, or null. include=listing replaces the ref with the listing summary. |
parents.damDam |
common.ref | animal.summary | null |
parents.dam.kindKind |
string |
parents.dam.idId |
string |
parents.dam.titleTitle |
string |
parents.dam.urlUrl |
string | null; format uri |
parents.dam.kindKind |
string; value "animal" |
parents.dam.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
parents.dam.titleName |
string; max length 200 |
parents.dam.urlPage |
string; format uri |
parents.dam.updated_atUpdated |
string; format date-time |
parents.dam.profile_typeProfile type |
string | nullowned: a profile someone keeps; reference: added to document lineage and not claimed yet; awaiting_claim: sold and waiting for its new owner to claim it. Known values: owned, reference, awaiting_claim. Clients must accept values not listed. |
parents.dam.speciesSpecies |
common.ref | null |
parents.dam.breedBreed |
common.ref | null |
parents.dam.genetics_labelReported genetics |
string | null |
parents.dam.geneticsReported genetic states |
array<common.genetic_state>; max items 512Member assertions, without linked-record identifiers or metadata. |
parents.dam.breed_makeup_labelBreed makeup |
string | nullThe makeup label the animal cards print, for example 1/2 Nubian, 1/2 Boer. |
parents.dam.sexSex |
string | nullThe raw enum; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
parents.dam.sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
parents.dam.birthBorn |
common.partial_date | null |
parents.dam.age_labelAge |
string | null |
parents.dam.deceasedDeceased |
boolean | null |
parents.dam.registered_nameRegistered name |
string | nullFrom public registry records only (the herdbook rule); never a name whose source record is private. |
parents.dam.locationLocation |
common.location | nullThe animal's own location only. |
parents.dam.imagePhoto |
common.image | null |
parents.dam.listingFor sale |
common.ref | listing.summary | nullThe animal's active public listing, or null. include=listing replaces the ref with the listing summary. |
mediaMedia |
array<common.media_item>; max items 12 |
media_truncatedMedia truncated |
boolean | null |
Breeder breeder.full
| Field | Type and description |
|---|---|
kindKind |
string; value "breeder" |
idId |
string; pattern ^(org|dir)_[0-9A-Za-z]{8}$ |
titleName |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
sourceSource |
string | nullclaimed: a breeder org on Creatures; directory: an imported directory entry its business has not claimed. Known values: claimed, directory. Clients must accept values not listed. |
verifiedIdentity verified |
boolean | nullThe org's identity-verified flag; always false for directory entries. |
locationLocation |
common.location | null |
location.cityCity |
string | null |
location.regionRegion |
string | null |
location.region_nameRegion name |
string | null |
location.countryCountry |
string | null |
speciesSpecies |
array<common.ref>; max items 20 |
species[].kindKind |
string |
species[].idId |
string |
species[].titleTitle |
string |
species[].urlUrl |
string | null; format uri |
species_truncatedSpecies truncated |
boolean | null |
breedsBreeds |
array<common.ref>; max items 50 |
breeds[].kindKind |
string |
breeds[].idId |
string |
breeds[].titleTitle |
string |
breeds[].urlUrl |
string | null; format uri |
breeds_truncatedBreeds truncated |
boolean | null |
imageImage |
common.image | nullThe org picture; null for directory entries. |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
summarySummary |
string | null; max length 300Plain text from the org's about or the entry's description. |
summary_truncatedSummary truncated |
boolean | null |
descriptionDescription |
string | null; max length 4000User text (A2.6), shown literally. |
description_truncatedDescription truncated |
boolean | null |
websiteWebsite |
string | null; format uri |
socialsSocial links |
array<object>; max items 6Known networks only, one link per network. |
socials[].networkNetwork |
stringKnown values: facebook, instagram, tiktok, youtube, x, linkedin. Clients must accept values not listed. |
socials[].urlLink |
string; format uri |
claimableClaimable |
boolean | nullTrue for directory entries (the business can claim the listing); null for claimed orgs. |
type_labelType |
string | nullThe org type label (Breeder, Farm, Ranch); null for directory entries. |
ratingRating |
common.rating | nullClaimed orgs: reviews of the org and its members (scope org_and_members), as on the org page; null for directory entries. |
rating.averageAverage |
number | null |
rating.countCount |
integer | null |
rating.scopeScope |
stringKnown values: seller, org_and_members, owner_and_owned_orgs, provider. Clients must accept values not listed. |
active_listing_countActive listings |
integer | nullPublic active listings the org sells (the /listings?seller=org_<id> population); null for directory entries. |
listingsListings |
null | objectUp to five of the org's active listings (org sellers only); null unless include=listings, and always null for directory entries. |
listings.dataListings |
array<listing.summary>; max items 5 |
listings.data[].kindKind |
string; value "listing" |
listings.data[].idId |
string; pattern ^[0-9A-Za-z]{8}$ |
listings.data[].titleTitle |
string; max length 200The animal's display name. |
listings.data[].urlPage |
string; format uri |
listings.data[].updated_atUpdated |
string; format date-time |
listings.data[].statusStatus code |
string | nullPublic status, never the stored one: scheduled = auction start in the future; ending = past its close time, awaiting the close job; sale_pending = reserved or in payment. Known values: active, scheduled, ending, sale_pending, auction_won, sold, reserve_not_met, ended_no_bids, cancelled, paused. Clients must accept values not listed. |
listings.data[].status_labelStatus |
string | null |
listings.data[].sale_typeSale type |
string | nullKnown values: fixed_price, auction. Clients must accept values not listed. |
listings.data[].pricePrice |
common.money | nullFixed price; for an auction the current bid, else the starting bid; for a sold listing the sale amount. |
listings.data[].buy_now_priceBuy now price |
common.money | nullSet only while buy now is available (active, no bids). |
listings.data[].bid_countBids |
integer | nullAuctions only. |
listings.data[].starts_atAuction starts |
string | null; format date-time |
listings.data[].ends_atAuction ends |
string | null; format date-time |
listings.data[].speciesSpecies |
common.ref | null |
listings.data[].breedBreed |
common.ref | nullNull for the placeholder breed. |
listings.data[].genetics_labelReported genetics |
string | null |
listings.data[].breed_makeup_labelBreed makeup |
string | null |
listings.data[].sexSex code |
string | nullRaw sex; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
listings.data[].sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
listings.data[].age_labelAge |
string | null |
listings.data[].registriesRegistries |
array<string>; max items 5Labels of public registrations only. |
listings.data[].registries_truncatedRegistries truncated |
boolean | null |
listings.data[].locationLocation |
common.location | null |
listings.data[].sellerSeller |
common.seller_ref | nullidentity_verified is null in the summary and set in the full view. |
listings.data[].imageImage |
common.image | null |
listings.data[].no_buyer_feeNo buyer fee |
boolean | null |
listings.data[].sale_eventSale event |
common.ref | sale_event.summary | nullNull unless the event is public; include=sale_event gives its summary. |
listings.has_moreMore listings |
boolean |
listings.list_urlAll listings |
string; format uri |
Provider provider.full
| Field | Type and description |
|---|---|
kindKind |
string; value "provider" |
idId |
string; pattern ^(dir|org|tr|bd|ss)_[0-9A-Za-z]{8}$ |
titleName |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
sourceSource |
string | nulldirectory: an imported directory record that Creatures does not rank or endorse; claimed: a business that claimed its directory record; platform: a Creatures-reviewed platform transporter, a boarding service or a current public stud offer. Known values: directory, claimed, platform. Clients must accept values not listed. |
categoriesCategories |
array<object>; max items 7 |
categories[].keyKey |
string |
categories[].labelLabel |
string |
summarySummary |
string | null; max length 300 |
summary_truncatedSummary truncated |
boolean | null |
locationLocation |
common.location | null |
location.cityCity |
string | null |
location.regionRegion |
string | null |
location.region_nameRegion name |
string | null |
location.countryCountry |
string | null |
speciesSpecies |
array<common.ref>; max items 50 |
species[].kindKind |
string |
species[].idId |
string |
species[].titleTitle |
string |
species[].urlUrl |
string | null; format uri |
species_truncatedSpecies truncated |
boolean | null |
species_countSpecies count |
integer | null |
servicesServices |
array<string>; max items 50 |
services_truncatedServices truncated |
boolean | null |
claimedClaimed |
boolean | null |
verifiedVerified |
boolean | null |
ratingRating |
common.rating | null |
rating.averageAverage |
number | null |
rating.countCount |
integer | null |
rating.scopeScope |
stringKnown values: seller, org_and_members, owner_and_owned_orgs, provider. Clients must accept values not listed. |
rateRate |
common.rate | null |
rate.amountAmount |
integer |
rate.currencyCurrency |
stringKnown values: USD, AED, AFN, ALL, AMD, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SOS, SRD, SSP, STN, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XCG, XOF, XPF, YER, ZAR, ZMW, ZWG. Clients must accept values not listed. |
rate.displayDisplay |
string |
rate.unitUnit |
stringKnown values: per_animal_month, per_service. Clients must accept values not listed. |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
descriptionDescription |
string | null; max length 4000 |
description_truncatedDescription truncated |
boolean | null |
websiteWebsite |
string | null; format uriDirectory records only. |
licensesLicences |
array<string>; max items 20Directory records: licence and registration labels only, never numbers. |
licenses_truncatedLicences truncated |
boolean | null |
operating_statusOperating status |
string | null |
status_checked_atStatus checked |
string | null; format date-time |
travelsTravels |
string | null |
service_area_textService area |
string | null |
service_areaService area |
null | objectPlatform transporters only. |
service_area.regionsRegions |
array<string>; max items 70continental_us, then any extra state codes; otherwise the state codes. |
service_area.regions_truncatedRegions truncated |
boolean | null |
service_area.radius_miRadius (miles) |
integer | null |
credentialsCredentials |
null | objectPlatform transporters only. Flags, never filters. |
credentials.identity_verifiedIdentity verified |
boolean |
credentials.licensedLicensed |
booleanA licence file is on record and Creatures reviewed it. |
credentials.insured_throughInsured through |
string | null; format dateThe insurance date, only while the insurance is current and reviewed. |
ratesRates |
null | objectPlatform transporters only. |
rates.per_milePer mile |
common.money | null |
rates.per_mile.amountAmount |
integer |
rates.per_mile.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
rates.per_mile.displayDisplay |
string |
rates.minimumMinimum |
common.money | null |
rates.minimum.amountAmount |
integer |
rates.minimum.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
rates.minimum.displayDisplay |
string |
vehicle_typesVehicle types |
array<string>; max items 20 |
vehicle_types_truncatedVehicle types truncated |
boolean | null |
capacityCapacity |
string | null |
completed_jobsCompleted jobs |
integer | null |
ownerOwner |
common.actor_ref | nullPlatform transporters only. |
owner.kindKind |
stringKnown values: user, org. Clients must accept values not listed. |
owner.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
owner.titleTitle |
string |
owner.urlUrl |
string; format uri |
owner.avatarAvatar |
common.avatar | null |
termsTerms |
string | null; max length 4000Boarding only. |
terms_truncatedTerms truncated |
boolean | null |
housing_typeHousing type |
string | null |
housing_type_labelHousing |
string | null |
min_commitment_monthsMinimum commitment (months) |
integer | null |
customer_feeService fee |
common.money | nullBoarding: the monthly service fee added to the rate. |
customer_fee.amountAmount |
integer |
customer_fee.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
customer_fee.displayDisplay |
string |
providerProvider |
common.actor_ref | nullBoarding only. |
provider.kindKind |
stringKnown values: user, org. Clients must accept values not listed. |
provider.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
provider.titleTitle |
string |
provider.urlUrl |
string; format uri |
provider.avatarAvatar |
common.avatar | null |
mediaMedia |
array<common.media_item>; max items 12 |
media_truncatedMedia truncated |
boolean | null |
other_servicesOther services |
array<common.ref>; max items 3Boarding: other public services of the same provider. |
other_services[].kindKind |
string |
other_services[].idId |
string |
other_services[].titleTitle |
string |
other_services[].urlUrl |
string | null; format uri |
other_services_truncatedOther services truncated |
boolean | null |
Species species.full
| Field | Type and description |
|---|---|
kindKind |
string; value "species" |
idId |
string; pattern ^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$The species slug, for example goat. |
titleTitle |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
latin_nameLatin name |
string | null; max length 200 |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
featuredFeatured |
boolean | nullTrue when the site features the species (its priority is above 0). |
generalGeneral |
boolean | nullTrue for umbrella rows such as snake and fish (species::general_rows). |
plural_titlePlural title |
string | null; max length 200 |
descriptionDescription |
string | null; max length 4000Plain text. |
description_truncatedDescription truncated |
boolean | null |
countsCounts |
object | nullThe species page's own counts. listings includes reserved and payment-pending listings, as the page does; animals counts public profiles without an active listing; breeds counts public population breeds. A hidden record never changes a count. |
counts.listingsListings |
integer |
counts.breedersBreeders |
integer |
counts.animalsAnimals |
integer |
counts.breedsBreeds |
integer |
counts_as_ofCounts as of |
string | null; format date-time |
price_rangePrice range |
object | nullLowest and highest asking price of the listings counted in counts.listings. |
price_range.minMin |
common.money |
price_range.min.amountAmount |
integer |
price_range.min.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
price_range.min.displayDisplay |
string |
price_range.maxMax |
common.money |
price_range.max.amountAmount |
integer |
price_range.max.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
price_range.max.displayDisplay |
string |
linksLinks |
object | null |
links.marketplace_urlFor sale |
string | null; format uri |
links.directory_urlBreeders |
string | null; format uri |
links.price_guide_urlPrice guide |
string | null; format uri |
featured_breedsPopular breeds |
array<common.ref>; max items 12The page's Popular breeds, in page order, that pass the breed gate. |
featured_breeds[].kindKind |
string |
featured_breeds[].idId |
string |
featured_breeds[].titleTitle |
string |
featured_breeds[].urlUrl |
string | null; format uri |
toolsTools |
array<common.ref>; max items 12 |
tools[].kindKind |
string |
tools[].idId |
string |
tools[].titleTitle |
string |
tools[].urlUrl |
string | null; format uri |
articlesGuides |
array<common.ref>; max items 6 |
articles[].kindKind |
string |
articles[].idId |
string |
articles[].titleTitle |
string |
articles[].urlUrl |
string | null; format uri |
articles_truncatedGuides truncated |
boolean | null |
Breed breed.full
| Field | Type and description |
|---|---|
kindKind |
string; value "breed" |
idId |
string; max length 80; pattern ^[A-Za-z0-9][A-Za-z0-9_-]*\.[A-Za-z0-9][A-Za-z0-9_-]*$<species slug>.<breed slug>, for example goat.nigerian-dwarf. |
titleTitle |
string; max length 200 |
urlPage |
string | null; format uriNull when the catalog identity is unpublished. |
updated_atUpdated |
string; format date-time |
speciesSpecies |
common.ref | species.summary | nullA species ref, or its summary with include=species. |
species.kindKind |
string |
species.idId |
string |
species.titleTitle |
string |
species.urlUrl |
string | null; format uri |
species.kindKind |
string; value "species" |
species.idId |
string; pattern ^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$The species slug, for example goat. |
species.titleTitle |
string; max length 200 |
species.urlPage |
string; format uri |
species.updated_atUpdated |
string; format date-time |
species.latin_nameLatin name |
string | null; max length 200 |
species.imageImage |
common.image | null |
species.featuredFeatured |
boolean | nullTrue when the site features the species (its priority is above 0). |
species.generalGeneral |
boolean | nullTrue for umbrella rows such as snake and fish (species::general_rows). |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
catalog_kindCatalog kind |
string | nullKnown values: population, gene, phenotype, trait. Clients must accept values not listed. |
publicationPublication |
string | nullKnown values: published, none. Clients must accept values not listed. |
genericGeneric |
boolean | nullTrue for generic breeds (mixed, unknown or other). |
descriptionDescription |
string | null; max length 4000Plain text. |
description_truncatedDescription truncated |
boolean | null |
colorsColors |
array<string>; max items 50 |
colors_truncatedColors truncated |
boolean | null |
countsCounts |
object | nullThe breed page's own counts. listings includes reserved and payment-pending listings, as the page does; animals counts public profiles without an active listing. A hidden record never changes a count. |
counts.listingsListings |
integer |
counts.breedersBreeders |
integer |
counts.animalsAnimals |
integer |
counts_as_ofCounts as of |
string | null; format date-time |
price_rangePrice range |
object | nullLowest and highest asking price of the listings counted in counts.listings. |
price_range.minMin |
common.money |
price_range.min.amountAmount |
integer |
price_range.min.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
price_range.min.displayDisplay |
string |
price_range.maxMax |
common.money |
price_range.max.amountAmount |
integer |
price_range.max.currencyCurrency |
stringKnown values: USD. Clients must accept values not listed. |
price_range.max.displayDisplay |
string |
linksLinks |
object | null |
links.marketplace_urlFor sale |
string | null; format uri |
links.directory_urlBreeders |
string | null; format uri |
links.price_guide_urlPrice guide |
string | null; format uri |
associationsBreed associations |
array<object>; max items 3 |
associations[].titleName |
string |
associations[].urlPage |
string | null; format uriNull when the catalog identity is unpublished. |
also_known_asAlso known as |
array<string>; max items 20Reviewed nicknames (the breed index search terms). |
also_known_as_truncatedAlso known as truncated |
boolean | null |
related_breedsRelated breeds |
array<common.ref>; max items 12The page's Popular breeds of this species, without this breed. |
related_breeds[].kindKind |
string |
related_breeds[].idId |
string |
related_breeds[].titleTitle |
string |
related_breeds[].urlUrl |
string | null; format uri |
toolsTools |
array<common.ref>; max items 12 |
tools[].kindKind |
string |
tools[].idId |
string |
tools[].titleTitle |
string |
tools[].urlUrl |
string | null; format uri |
articlesGuides |
array<common.ref>; max items 6 |
articles[].kindKind |
string |
articles[].idId |
string |
articles[].titleTitle |
string |
articles[].urlUrl |
string | null; format uri |
articles_truncatedGuides truncated |
boolean | null |
Article article.full
| Field | Type and description |
|---|---|
kindKind |
string; value "article" |
idId |
string; pattern ^(wp_[1-9][0-9]{0,8}|hc_[0-9a-z]{1,40})$ |
titleTitle |
string; max length 200 |
urlPage |
string; format uriThe article page on this site; Help Center entries link to help.creatures.com. |
updated_atUpdated |
string; format date-timeWhen the local copy last changed (the WordPress mirror or the Help Center scrape), not the editorial time. |
published_atPublished |
string | null; format date-timeWordPress date_gmt; null for Help Center entries. |
modified_atModified |
string | null; format date-timeWordPress modified_gmt; null for Help Center entries. |
sourceSource |
string | nullKnown values: learn, news, species_guide, help_center. Clients must accept values not listed. |
sectionSection |
object | nullThe Learn section (WordPress category) for learn and news posts; null for species guides and Help Center entries. |
section.slugSlug |
string |
section.titleTitle |
string |
speciesSpecies |
common.ref | null |
species.kindKind |
string |
species.idId |
string |
species.titleTitle |
string |
species.urlUrl |
string | null; format uri |
breedBreed |
common.ref | null |
breed.kindKind |
string |
breed.idId |
string |
breed.titleTitle |
string |
breed.urlUrl |
string | null; format uri |
excerptExcerpt |
string | null; max length 300 |
excerpt_truncatedExcerpt truncated |
boolean | null |
imageImage |
common.image | nullWordPress-hosted article images have large only (A2.7). |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
bodyBody |
string | null; max length 4000Markdown subset (paragraphs, headings, lists, links, bold, italic) of the page body; links to checkout, bid, offer, payment and sign-in pages are dropped. Null for Help Center entries; the url has the full article (A2.6). |
body_truncatedBody truncated |
boolean | null |
authorAuthor |
object | nullThe byline the article page shows; null when the page shows none. |
author.titleName |
string |
author.urlPage |
string | null; format uriKnown author profile, or null when the source author has no verified local profile. |
relatedRelated |
array<common.ref>; max items 3Up to three served articles from the page's own more-articles rail; empty for Help Center entries. |
related[].kindKind |
string |
related[].idId |
string |
related[].titleTitle |
string |
related[].urlUrl |
string | null; format uri |
Tool tool.full
| Field | Type and description |
|---|---|
kindKind |
string; value "tool" |
idId |
string; max length 80; pattern ^[a-z_]+\.[a-z0-9]+(-[a-z0-9]+)*$<tool_type>.<slug>, for example gestation_calculator.goat. |
titleTitle |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
tool_typeTool type |
string | nullKnown values: name_generator, org_name_generator, gestation_calculator, weight_calculator, coat_color_calculator, coat_color_visualizer, livestock_value_calculator, pedigree_chart_maker, brand_generator, brand_ideas, brand_registration, genetics_calculator. Clients must accept values not listed. |
subjectSubject |
object | null |
subject.speciesSpecies |
common.ref | null |
subject.species.kindKind |
string |
subject.species.idId |
string |
subject.species.titleTitle |
string |
subject.species.urlUrl |
string | null; format uri |
subject.breedBreed |
common.ref | null |
subject.breed.kindKind |
string |
subject.breed.idId |
string |
subject.breed.titleTitle |
string |
subject.breed.urlUrl |
string | null; format uri |
subject.org_typeOrganization type |
string | null |
descriptionDescription |
string | null; max length 300 |
description_truncatedDescription truncated |
boolean | null |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
introIntroduction |
string | null; max length 4000Plain text. |
intro_truncatedIntroduction truncated |
boolean | null |
faqQuestions |
array<object>; max items 5 |
faq[].questionQuestion |
string; max length 300 |
faq[].question_truncatedQuestion truncated |
boolean |
faq[].answerAnswer |
string; max length 4000 |
faq[].answer_truncatedAnswer truncated |
boolean |
faq_truncatedQuestions truncated |
boolean | null |
gestationGestation facts |
object | nullThe gestation calculator page's static facts; null for other tool types. |
gestation.average_daysAverage days |
integer |
gestation.window_daysWindow |
object |
gestation.window_days.minMin days |
integer |
gestation.window_days.maxMax days |
integer |
gestation.birth_eventBirth event |
string | null |
gestation.by_breedBy breed |
array<object>; max items 50 |
gestation.by_breed[].keyKey |
string |
gestation.by_breed[].labelBreed |
string |
gestation.by_breed[].average_daysAverage days |
integer |
gestation.by_breed[].window_daysWindow |
object |
gestation.by_breed[].window_days.minMin days |
integer |
gestation.by_breed[].window_days.maxMax days |
integer |
gestation.by_breed_truncatedBy breed truncated |
boolean |
weightWeight facts |
object | nullThe weight calculator page's static facts; null for other tool types. |
weight.typical_rangeTypical weights |
array<object>; max items 10 |
weight.typical_range[].classClass |
string |
weight.typical_range[].minMin |
number |
weight.typical_range[].maxMax |
number |
weight.typical_range[].unitUnit |
string |
weight.measurementsMeasurements |
array<object>; max items 10 |
weight.measurements[].keyKey |
string |
weight.measurements[].labelMeasurement |
string |
weight.measurements[].helpHow to measure |
string | null |
Sale event sale_event.full
| Field | Type and description |
|---|---|
kindKind |
string; value "sale_event" |
idId |
string; pattern ^[0-9A-Za-z]{8}$ |
titleTitle |
string; max length 200 |
urlPage |
string; format uri |
updated_atUpdated |
string; format date-time |
phasePhase |
string | nullFrom the start and close times, as the event page shows it; never the stored status. Known values: upcoming, live, ended. Clients must accept values not listed. |
sale_typeSale type |
string | nullfixed_price for events of the stored standard type, which accept fixed-price listings. Known values: auction, fixed_price. Clients must accept values not listed. |
starts_atStarts |
string | null; format date-time |
ends_atEnds |
string | null; format date-time |
speciesSpecies |
array<common.ref>; max items 10Empty means the event accepts every species. |
species[].kindKind |
string |
species[].idId |
string |
species[].titleTitle |
string |
species[].urlUrl |
string | null; format uri |
species_truncatedSpecies truncated |
boolean | null |
organizerOrganizer |
common.actor_ref | null |
organizer.kindKind |
stringKnown values: user, org. Clients must accept values not listed. |
organizer.idId |
string; pattern ^[0-9A-Za-z]{8}$ |
organizer.titleTitle |
string |
organizer.urlUrl |
string; format uri |
organizer.avatarAvatar |
common.avatar | null |
summarySummary |
string | null; max length 300The teaser, else the description, as plain text. |
summary_truncatedSummary truncated |
boolean | null |
imageImage |
common.image | null |
image.altAlt |
string | null |
image.thumbThumb |
string | null; format uri |
image.squareSquare |
string | null; format uri |
image.largeLarge |
string | null; format uri |
active_lot_countActive lots |
integer | null; min 0The number of listings /api/v1/listings?event=<id> returns; it can be lower than the count on the events page. |
descriptionDescription |
string | null; max length 4000The organizer's text as Markdown: bold and italic kept as the page shows them, creatures.com links linked, other URLs as inline code. |
description_truncatedDescription truncated |
boolean | null |
teaserTeaser |
string | null; max length 300 |
teaser_truncatedTeaser truncated |
boolean | null |
breedsBreeds |
array<common.ref>; max items 20Empty means every breed of the accepted species. |
breeds[].kindKind |
string |
breeds[].idId |
string |
breeds[].titleTitle |
string |
breeds[].urlUrl |
string | null; format uri |
breeds_truncatedBreeds truncated |
boolean | null |
acceptsAccepts |
array<string>; max items 2 |
no_buyer_feesNo buyer fees |
boolean | nullTrue when the organizer covers buyer fees for every lot. |
application_deadlineApplication deadline |
string | null; format date-time |
applications_openApplications open |
boolean | nullTrue while the event is upcoming or live and before the application deadline. |
soft_closeSoft close |
object | nullA bid within trigger_window_seconds of the close extends it by extension_seconds (the auction code's rule for event lots). |
soft_close.trigger_window_secondsTrigger window (seconds) |
integer |
soft_close.extension_secondsExtension (seconds) |
integer |
lot_countLots |
integer | null; min 0Every lot that passes the listing get gate, in any status (/api/v1/listings?event=<id>&status=all). |
lotsLots |
null | objectNull unless include=lots: up to 5 lot summaries in the organizer's order; list_url pages through all of them. |
lots.dataLots |
array<listing.summary>; max items 5 |
lots.data[].kindKind |
string; value "listing" |
lots.data[].idId |
string; pattern ^[0-9A-Za-z]{8}$ |
lots.data[].titleTitle |
string; max length 200The animal's display name. |
lots.data[].urlPage |
string; format uri |
lots.data[].updated_atUpdated |
string; format date-time |
lots.data[].statusStatus code |
string | nullPublic status, never the stored one: scheduled = auction start in the future; ending = past its close time, awaiting the close job; sale_pending = reserved or in payment. Known values: active, scheduled, ending, sale_pending, auction_won, sold, reserve_not_met, ended_no_bids, cancelled, paused. Clients must accept values not listed. |
lots.data[].status_labelStatus |
string | null |
lots.data[].sale_typeSale type |
string | nullKnown values: fixed_price, auction. Clients must accept values not listed. |
lots.data[].pricePrice |
common.money | nullFixed price; for an auction the current bid, else the starting bid; for a sold listing the sale amount. |
lots.data[].buy_now_priceBuy now price |
common.money | nullSet only while buy now is available (active, no bids). |
lots.data[].bid_countBids |
integer | nullAuctions only. |
lots.data[].starts_atAuction starts |
string | null; format date-time |
lots.data[].ends_atAuction ends |
string | null; format date-time |
lots.data[].speciesSpecies |
common.ref | null |
lots.data[].breedBreed |
common.ref | nullNull for the placeholder breed. |
lots.data[].genetics_labelReported genetics |
string | null |
lots.data[].breed_makeup_labelBreed makeup |
string | null |
lots.data[].sexSex code |
string | nullRaw sex; filter on this, never on sex_label. Known values: male, female, unknown. Clients must accept values not listed. |
lots.data[].sex_labelSex |
string | nullThe page's species word, for example Doe or Wether. |
lots.data[].age_labelAge |
string | null |
lots.data[].registriesRegistries |
array<string>; max items 5Labels of public registrations only. |
lots.data[].registries_truncatedRegistries truncated |
boolean | null |
lots.data[].locationLocation |
common.location | null |
lots.data[].sellerSeller |
common.seller_ref | nullidentity_verified is null in the summary and set in the full view. |
lots.data[].imageImage |
common.image | null |
lots.data[].no_buyer_feeNo buyer fee |
boolean | null |
lots.data[].sale_eventSale event |
common.ref | sale_event.summary | nullNull unless the event is public; include=sale_event gives its summary. |
lots.has_moreMore lots |
boolean |
lots.list_urlAll lots |
string; format uri |
Platform fact platform_fact.full
| Field | Type and description |
|---|---|
kindKind |
string; value "platform_fact" |
idId |
string; pattern ^[a-z][a-z0-9_]{0,39}$The topic key, for example contact. |
titleTitle |
string; max length 200 |
urlSource page |
string; format uri |
updated_atUpdated |
string; format date-time |
summarySummary |
string | null; max length 300The answer as plain text, cut to 300 characters. |
summary_truncatedSummary truncated |
boolean | null |
answerAnswer |
string | null; max length 4000The full answer as plain text. |
answer_truncatedAnswer truncated |
boolean | null |
MCP
AI assistants can read the same public data through https://creatures.com/mcp/v2.
See Use Creatures in Claude and ChatGPT for connection steps and examples.
- Search Creatures (
search): Search public Creatures listings, animals, breeders, services, species, breeds, articles, tools, sale events and platform facts. Returns up to 5 results; pass a result id to fetch. - Fetch a Creatures record (
fetch): Read one public Creatures record by an id from any result (e.g. listing:Bk3mX9pQ) or by a creatures.com link. Returns its title, text, page url and metadata. - Search animal listings (
search_listings): List public animal listings on Creatures, filtered by species, breed, sex, sale type, place and price. Prices are whole US dollars. Page with next_cursor. - Find breeders and services (
find_breeders_and_services): List public breeders, livestock transporters, boarding, hoof care, shearing, reproduction or processing services on Creatures. transport lists Creatures-reviewed transporters first, then directory haulers.