---
title: "Review explicit dated birth history"
method: GET
path: "/v1/farm/{farm_id}/birth-history/evidence"
tags: ["birth-history"]
---

# Review explicit dated birth history

`GET /v1/farm/{farm_id}/birth-history/evidence`

## Request

- Base URL: `https://api.ranch.bot`
- URL: `https://api.ranch.bot/v1/farm/{farm_id}/birth-history/evidence`
- Auth: HTTP bearer

Requires read:records and read:animals. Compares configured windows with dated farm-scoped RecordItem.metadata.birth_history facts. Current group membership is never historical evidence. Missing sex, birth date, intact-at-exposure or age settings remain unknown; a sole plausible exposure may propose a presumed sire with source provenance and a conservative review score, never DNA confidence. No parentage or breeding records are written.

## Path parameters

- `farm_id` string, uuid, required

## Query parameters

- `dam_id` string, uuid, required
- `birth_date` string, required

## Response `200`

Farm-scoped birth history

- BirthHistoryEvidence
  - `evidence_version` 1, required
  - `settings` object, nullable, required
    - `version` 1, required
    - `species` 'BISON' | 'CATTLE' | 'ELK' | 'GOAT' | 'HORSE' | 'OTHER' | 'PIG' | 'SHEEP', required
    - `gestation_days` object
      - `min` integer, required
      - `max` integer, required
    - `minimum_sire_age_days` integer
    - `birth_windows` object[]
      - `label` string, required
      - `start_date` string, required
      - `end_date` string, required
  - `settings_status` 'configured' | 'not_configured', required
  - `planned_window_status` 'within' | 'outside' | 'not_configured', required
  - `matching_birth_windows` object[]
    - `label` string, required
    - `start_date` string, required
    - `end_date` string, required
  - `conception_window` object, nullable, required
    - `start_date` string, required
    - `end_date` string, required
  - `sire` object, required
    - `status` 'unknown' | 'candidates' | 'presumed', required
    - `animal_id` string, uuid
    - `confidence` number
    - `provenance` string
    - `presumed_cross` string
    - `candidates` object[], required
      - `animal_id` string, uuid, required
      - `eligibility` 'plausible' | 'unknown' | 'excluded', required
      - `reasons` string[], required
      - `exposure_record_ids` string[], required
      - `exposure_record_item_ids` string[], required
      - `membership_record_ids` string[], required
      - `membership_record_item_ids` string[], required
      - `overlap_intervals` object[], required
        - `start_date` string, required
        - `end_date` string, required
      - `breed` string
  - `movement_comparisons` object[], required
    - `record_id` string, uuid, required
    - `record_item_id` string, uuid, required
    - `kind` 'purchase' | 'movement_in' | 'movement_out', required
    - `date` string, required
    - `relation_to_conception` 'before' | 'within' | 'after' | 'unknown', required
  - `unresolved` string[], required

## Other responses

- `401`: Authentication required
- `403`: Current farm access and required scopes required
- `404`: Farm or animal not found

---

[API](https://skmtc.dev/ranch/apis/ranch-bot-http-api.md) · [All operations](https://skmtc.dev/ranch/apis/ranch-bot-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranch/apis/ranch-bot-http-api/revisions/24109d33fa02?raw)
