---
title: "Get Policy"
method: GET
path: "/v1/policies/{policy_id}"
tags: ["Policies"]
---

# Get Policy

`GET /v1/policies/{policy_id}`

## Path parameters

- `policy_id` integer, required — Policy id

## Response `200`

Successful Response

- ExternalPolicyView — Póliza expuesta por la API externa (contrato v1, congelado 2026-08-25). Se construye campo a campo desde PolicyInternal con from_internal(); los flujos de listado deben resolver el detalle antes de construirla (decisión de implementación pendiente en fase 2).
  - `id` string, required
  - `code` string, required
  - `status` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `effective` string, date
  - `cancel_date` string, date
  - `enrollment_date` string, date
  - `enrollment_reason` string
  - `submitted` string, date-time
  - `sale_type` string
  - `program` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `carrier` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `plan_metal` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `plan_id` string
  - `plan_name` string
  - `marketplace_id` string
  - `ffm` string
  - `npn` string
  - `premium` number
  - `total_cost` number
  - `subsidy` number
  - `household_income` number
  - `qty_members` integer
  - `qty_applicants` integer
  - `qty_dependents` integer
  - `payment_status` string — pending | auto-pay | failed | paid | not-applicable
  - `documents_status` string — pending | processing | declined | completed | expired
  - `payment_first_date` string, date
  - `payment_day` integer
  - `payment_recurrent` boolean
  - `pending_renewal` boolean
  - `archived_at` string, date-time
  - `address` ExternalAddress
    - `address_1` string
    - `address_2` string
    - `city` string
    - `state` string
    - `zip` string
    - `county` string
    - `country` string
  - `mailing_address` ExternalAddress
    - `address_1` string
    - `address_2` string
    - `city` string
    - `state` string
    - `zip` string
    - `county` string
    - `country` string
  - `agent` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `assigned_agent` ExternalRecord — Relación compacta hacia el exterior: solo id y nombre.
    - `id` string, required
    - `name` string
  - `policy_holder` ExternalPolicyMemberView — Miembro de póliza expuesto por la API externa (contrato v1, congelado 2026-08-25). id es el client_id del contacto subyacente. Sin SSN: solo has_ssn.
    - `id` string, required
    - `first_name` string, required
    - `middle_name` string
    - `last_name` string
    - `last_name2` string
    - `full_name` string
    - `relation` string — Self, Spouse, Child, ...
    - `main` boolean — Policy holder
    - `applicant` boolean
    - `dob` string, date
    - `age` integer
    - `gender` string — M | F | O
    - `pregnant` boolean
    - `tobacco_user` boolean
    - `email` string
    - `phone` string
    - `has_ssn` boolean — True if the member has an SSN on file. The value is never exposed. Null when unknown.
  - `tags` ExternalRecord[]
    - `id` string, required
    - `name` string
  - `medicare` ExternalMedicare
    - `mbi` string
    - `part_a` string, date
    - `part_b` string, date
    - `verification` string, date
    - `lis` string
    - `lis_level` string
  - `medicaid` ExternalMedicaid
    - `id` string
    - `level` string
    - `application_number` string
    - `dual` boolean
  - `life_insurance` ExternalLifeInsurance
    - `last_doc_visit` string, date
    - `doc_visit_reason` string
    - `background_notes` string
    - `medical_notes` string
    - `mother` ExternalRelative
      - `alive` boolean
      - `age` integer
      - `cause_death` string
    - `father` ExternalRelative
      - `alive` boolean
      - `age` integer
      - `cause_death` string
  - `medicines` string
  - `primary_doctor` string
  - `notes` string
  - `created` string, date-time, required
  - `last_update` string, date-time, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.dev/apizeal/apis/apizeal-api.md) · [All operations](https://skmtc.dev/apizeal/apis/apizeal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apizeal/apizeal-api/revisions/9baadbe84f92/schema)
