---
title: "Create a Pet"
method: POST
path: "/api/v1/pets"
tags: ["Pets"]
---

# Create a Pet

`POST /api/v1/pets`

Permissions needed: CREATE_PATIENTS
Create a pet

## Response `201`

Successful operation

- object
  - `data` object — A pet is an individual entity unique in all of Figitail. A pet can have a single PetParent, multiple contact persons and can be present on multiple clinics. The linkage between a pet and a clinics is called a patient.
    - `id` integer
    - `nickname` string
    - `species_id` string
    - `breed_id` string
    - `trupanion_species` object, nullable — Trupanion species mapping. Present when include=trupanionSpecies is used.
      - `id` integer
      - `external_id` integer
      - `name` string
    - `trupanion_breed` object, nullable — Trupanion breed mapping. Present when include=trupanionBreed is used.
      - `id` integer
      - `external_id` integer
      - `name` string
    - `observations` string, nullable
    - `gender` 'male' | 'female' | 'unknown'
    - `microchip` string, nullable
    - `crossbreed` '0' | '1'
    - `crossbreed_details_id` integer, nullable
    - `crossbreed_details` object
      - `id` integer
      - `label` string
      - `breed` string
      - `species_id` integer
    - `color` string
    - `distinctive_marks` string
    - `birthday` string, date
    - `gender_string` string, nullable
    - `chip_number` string, nullable
    - `microchip_location` string, nullable
    - `insurance_number` string, nullable
    - `passport` string, nullable
    - `profile_picture` string, nullable
    - `description` string, nullable
    - `constitution` string, nullable
    - `conformation` string, nullable
    - `weight` string, nullable
    - `weight_evolution` 0 | 1 | -1, nullable
    - `allergies` string, nullable
    - `nr_recs` integer, nullable
    - `blood_type` string, nullable
    - `hormonal_status` 0 | 1 | 2 — 0: 'Unknown' 1: 'Intact' 2: 'Neutered'
    - `age` string
    - `age_breakdown` object
      - `years` integer
      - `months` integer
      - `days` integer
    - `patientNumber` string
    - `is_verified` '0' | '1'
    - `breeder` string, nullable
    - `archive` object, nullable — Slim resource for archive, usually attached to other resources. Same as PetArchive
      - `id` integer
      - `reason` string
      - `type` 'Deceased' | 'Moved away' | 'Change of owner' | 'Other'
    - `patients` object[]
      - `id` integer
      - `pet_id` integer
      - `clinic_id` integer
      - `number` string, nullable
      - `archived_at` string, date-time, nullable
      - `archive_type_id` integer, nullable
      - `archive_reason` string, nullable
    - `birthday_estimated` boolean
    - `rabic_tag_number` string
    - `updated_at` string
    - `insurance` object — Pet insurance information
      - `id` integer
      - `pet_id` integer
      - `provider` string
      - `policy_id` string, nullable
      - `edo_status` 'pending' | 'active' | 'failed' | 'pending_reconfirmation', nullable — `pending` - Certificate issued, awaiting activation `active` - Certificate activated `failed` - Certificate failed or expired `pending_reconfirmation` - Pending reconfirmation by the pet owner
      - `edo_last_sent_at` string, date-time, nullable
      - `edo_activated_at` string, date-time, nullable
      - `edo_reconfirmed_at` string, date-time, nullable

## Other responses

- `400` — unresolved $ref
- `401` — unresolved $ref
- `403` — unresolved $ref
- `429` — unresolved $ref

---

[API](https://skmtc.net/digitail/apis/digitail-api.md) · [All operations](https://skmtc.net/digitail/apis/digitail-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitail/digitail-api/revisions/bd9694db5fce/schema)
