Breeder API

Pairing records — API reference

How to create and manage breeding pair records on Herpify using the Breeder API.

What it does

The pairings endpoints let you manage your breeding records directly from external tools. You can record which animals you've paired, when, and what you expect from the clutch or birth, set whether a waitlist is open for that pairing, and keep your Herpify pairing records in sync with your own breeding software.

Who can access it

Breeder plan subscribers only. Authenticate with your API key in the `Authorization: Bearer` header.

List pairings — GET /api/breeder/pairings

Returns a paginated list of your pairing records, newest first.

ParameterTypeRequiredDescription
limitnumberOptionalHow many records per page. Between 1 and 100. Default is 20.
cursorstringOptionalPagination cursor from `meta.nextCursor` in the previous response.

Create a pairing — POST /api/breeder/pairings

Records a new breeding pairing.

ParameterTypeRequiredDescription
sireSpeciesstringRequiredScientific or common name of the sire's species. E.g. "Python regius".
sireNamestringOptionalYour name for the sire. E.g. "Thunderstruck".
sireTraitsstringOptionalMorph or trait description for the sire. E.g. "Banana Pastel".
dameSpeciesstringRequiredScientific or common name of the dame's species.
dameNamestringOptionalYour name for the dame. E.g. "Luna".
dameTraitsstringOptionalMorph or trait description for the dame. E.g. "Het Clown Het Ghost".
pairingDatestringOptionalDate of the pairing in ISO 8601 format (YYYY-MM-DD).
expectedDatestringOptionalExpected clutch or birth date in ISO 8601 format (YYYY-MM-DD).
waitlistOpenbooleanOptionalSet to true if you want to accept waitlist enquiries for this clutch. Default is false.

Update a pairing — PATCH /api/breeder/pairings/:id

Update any field on a pairing record. Send only the fields you want to change.

Delete a pairing — DELETE /api/breeder/pairings/:id

Permanently deletes the pairing record. This is a hard delete and cannot be undone.

Important note

Unlike listings, pairing deletions are permanent. Double-check before deleting.

Example response

Pairing record

{
  "data": {
    "id": "clxf6g7h8i9j0k1l2",
    "slug": "banana-pastel-x-het-clown-ball-python-2026",
    "sireSpecies": "Python regius",
    "sireName": "Thunderstruck",
    "sireTraits": "Banana Pastel",
    "dameSpecies": "Python regius",
    "dameName": "Luna",
    "dameTraits": "Het Clown Het Ghost",
    "pairingDate": "2026-02-14T00:00:00.000Z",
    "expectedDate": "2026-06-01T00:00:00.000Z",
    "waitlistOpen": true,
    "createdAt": "2026-02-14T10:00:00.000Z"
  }
}

Real-world example

You use dedicated breeding software to track all your Ball Python pairings. When you record a new pair in your software, a webhook fires a POST request to the Herpify pairings endpoint, syncing the record automatically. When your expected date changes after a second pairing attempt, the same software sends a PATCH with the updated date. Your Herpify profile stays current without any manual data entry.

Was this article helpful?