Genemap How it works Coverage Try Genemap Partners Pricing Sign in
API roadmap · v1 spec

Genemap API.

Planned public + partner endpoints for breed societies, processors, genotyping labs and integration developers. This page documents the v1 surface we're building; it does not mean every endpoint is live yet.

Status — May 2026. Today the public surface is the sheep-ai-ask and cattle-ai-ask conversational endpoints (used by the in-app assistant). The translator, geocoder, daily-prices, FX-rates, regional-anchors and webhook endpoints below are the published spec we're building against — they aren't deployed yet. If you're a breed society, processor or lab and want early access, say hello.

Introduction

When complete, the Genemap API will expose the platform's evaluation translator, geocoder, daily price feed, FX rates and regional anchors. Most endpoints are designed to be read-only and require either a producer-session JWT (for producer-scoped data) or a partner key (for breed-society / processor / lab integrations).

This documentation reflects the planned v1 surface. Breaking changes will be released as v2 with at least 90 days' deprecation notice.

Authentication

Two authentication modes:

Partner keys

Partner keys are issued via direct partnership agreement. They scope the partner to specific operations (e.g., a lab can push genotypes to producers who have authorised that lab). Apply at partners@genemap.com.au.

Partner keys can be rotated at any time from the partner dashboard. Keys are scoped per-environment (sandbox / production); always test against sandbox first.

eval-translate Planned

Translates a single trait value from any breed society's evaluation into Genemap's canonical trait vocabulary. Falls through to the Claude-backed AI translator for sources not covered by a native ingestor.

POST /v1/eval-translate

Request body

{
  "system": "IBOVAL_Idele",
  "source_trait": "PAm",
  "source_value": 0.32,
  "source_units": "kg/d",
  "accuracy": 0.78
}

Response

{
  "trait": "WW",
  "value": 64.0,
  "units": "kg",
  "accuracy": 0.78,
  "percentile": 62,
  "confidence": 0.92,
  "cached": false
}

Confidence below 0.7 is flagged for human review; the response includes flagged_for_review: true.

geocode Planned

Resolves a country + town string to a lat/lon. Used by the platform to wire climate sources to producer locations.

POST /v1/geocode

Request body

{
  "country": "SE",
  "town": "Skara"
}

Response

{
  "lat": 58.3856,
  "lon": 13.4364,
  "display_name": "Skara, Västra Götaland County, Sweden",
  "country": "SE",
  "town": "Skara",
  "cached": true
}

daily-prices Planned

Read access to public.daily_prices with country/species/indicator filters.

GET /v1/daily-prices?country=AU&species=beef&limit=10

Response

[
  {
    "country": "AU",
    "species": "beef",
    "indicator_code": "EYCI",
    "value": 412,
    "units": "c/kg cwt",
    "currency": "AUD",
    "source": "MLA_NLRS",
    "price_date": "2026-05-10"
  },
  ...
]

fx-rates Planned

Daily FX rates from the European Central Bank, anchored to USD. 16 currencies tracked.

GET /v1/fx-rates?date=2026-05-10

regional-anchors Planned

Anonymised per-(country, species, production system) bioeconomic anchors recomputed nightly. Minimum bucket size 5 producers.

GET /v1/regional-anchors?country=SE&species=beef&production_system=ungtjur_housed

Webhooks

For partners pushing data into producer accounts. Webhooks are fire-and-forget POSTs from your system to Genemap; we acknowledge with 200 OK and process asynchronously.

Slaughter outcomes Planned

For processors. Push per-animal kill data via EID; producers' realised slaughter outcomes flow into their closed-loop calibration automatically.

POST /v1/webhooks/slaughter
{
  "eid": "982 000123456789",
  "kill_date": "2026-05-09",
  "hscw": 320.5,
  "msa_index": 62.3,
  "europ_grade": "R3",
  "price_per_kg": 6.85,
  "currency": "AUD"
}

Lab genotypes Planned

For genotyping labs. Push SNP genotype data directly to the producer's account.

POST /v1/webhooks/genotypes

Canonical trait vocabulary

Genemap's canonical trait codes. Every native ingestor and the AI translator normalise into these.

CodeNameUnits
WW200-day / weaning weightkg
YW400-day / yearling weightkg
MW600-day / mature weightkg
FRTFertility / days to calvingdays
MILKMilk / maternalkg
CWCarcase weightkg
EMAEye muscle areasq cm
IMFIntramuscular fat / marbling%
NLWNumber of lambs weanedlambs/ewe
CFWClean fleece weightkg
FDFibre diameter (lower = better)μm
WECWorm egg count (lower = better)FEC
PALSKVALPelt quality (Pälskvalitet)score
METHANEResidual methane intensityg CH4/kg LW gain

Full list (28 codes) at research or in core/js/eval-system-translator.js.

Country codes

ISO 3166-1 alpha-2. The 18 native countries: AU · NZ · US · CA · GB · IE · SE · DK · NO · DE · FR · BR · AR · UY · ZA · JP · KR · IS.

Other ISO-2 codes are accepted; the AI translator handles them via the long-tail path.

Errors

All endpoints return JSON errors with HTTP status codes:

CodeMeaning
400Bad request — required parameter missing or invalid
401Unauthenticated — JWT or partner key missing
403Forbidden — partner key not scoped to this resource
404Not found — no resource matches the query
429Rate limited — too many requests
503Upstream unavailable — third-party source returned no data
Want a partner key? Email partners@genemap.com.au with your use case and the producer accounts you'll be integrating against.