---
title: "Compose the KYB envelope for an entity"
method: GET
path: "/api/v1/entity/{anchor}/{value}"
tags: ["Sugra Entity"]
---

# Compose the KYB envelope for an entity

`GET /api/v1/entity/{anchor}/{value}`

Resolve an entity by `(anchor, value)` and compose the requested slices into the canonical KYB envelope. `anchor` is `lei` (via GLEIF) or `vat` (via the EU VIES service). Use `?include=` (comma list of `profile,screening,ownership`) to select slices; the default is all three. The `vat` anchor has no ownership graph (a VAT has no LEI) and a VAT whose identity is withheld is never screened `clear`. Fail-CLOSED: a screening failure returns 503, never a `clear`. `?as_of=YYYY-MM-DD` scopes ONLY the screening slice to the dated snapshot for that date (point-in-time); the identity / ownership / VIES slices are live external lookups with no historical snapshot and remain current. A malformed as_of returns 422; a date whose snapshot is absent returns 503 (fail-closed, never a live fallback).

## Path parameters

- `anchor` string, required — Entity anchor type (`lei` or `vat`).
- `value` string, required — Anchor value (e.g. the LEI code or the VAT number).

## Query parameters

- `include` string, nullable — Comma list of slices to compose (profile, screening, ownership).
- `as_of` string, nullable — Point-in-time date (YYYY-MM-DD) scoping the screening slice to the dated snapshot. Identity/ownership remain current.

## Response `200`

Successful Response

- unknown

## Other responses

- `401` — Missing or invalid `x-api-key` header.
- `422` — Validation Error
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

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