---
title: "Get Animal Identifiers"
method: GET
path: "/v1/farm/{farm_id}/animals/{animal_id}/identifier"
tags: ["identifiers"]
---

# Get Animal Identifiers

`GET /v1/farm/{farm_id}/animals/{animal_id}/identifier`

## Request

- Base URL: `https://api.ranch.bot`
- URL: `https://api.ranch.bot/v1/farm/{farm_id}/animals/{animal_id}/identifier`
- Auth: HTTP bearer

Current animal identifiers HTTP operation. External credential scopes: read:animals. Minimum farm role: READER. Pagination accepts integer skip and take; set both explicitly. An omitted value passes through to the data query. Collection property names differ by resource; use the response schema. Production rate limit: 100 requests per 15-minute window per device account, 1000 per browser session, otherwise per client IP. RateLimit headers report the current window; respect Retry-After on 429.

## Path parameters

- `farm_id` string, uuid, required
- `animal_id` string, uuid, required

## Query parameters

- `skip` integer
- `take` integer

## Response `200`

Success

- object
  - `total` number, required
  - `records` object[], required
    - `value` string, required
    - `type` 'BRAND' | 'EID' | 'MANAGEMENT_TAG' | 'NAME' | 'TATTOO', required
    - `id` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `is_active` boolean, required
    - `animal_id` string, required
    - `is_primary` boolean, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing/invalid authentication or insufficient farm role.
- `403`: Missing required scope or credential type is disallowed.
- `404`: Resource or active farm membership not found.
- `429`: Rate limit exceeded. Retry after the indicated delay.
- `500`: Unexpected server failure.

---

[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)
