---
title: "Person-to-procurement derivation (unavailable)"
method: GET
path: "/api/v1/persona/{slug}/contracts"
tags: ["Persons", "Public Procurement"]
deprecated: true
---

# Person-to-procurement derivation (unavailable)

`GET /api/v1/persona/{slug}/contracts`

## Request

- Base URL: `https://openmercantil.es`
- URL: `https://openmercantil.es/api/v1/persona/{slug}/contracts`
- Auth: none declared
- TypeScript: <https://skmtc.dev/openmercantil/apis/openmercantil-public-api/docs/api/v1/persona/:slug/contracts/get.ts> (a function with typed inputs; its response is checked against the schema)

> **Deprecated.**

Fail-closed derived route. It always returns 503 before reading data because `person_contracts_v1` is not authorized. A future implementation requires a new reviewed projection and contract version.

## Path parameters

- `slug` string, required

## Other responses

- `429`: Rate limit exceeded
- `503`: Controlled fail-closed denial: the required dataset or legal layer is absent, invalid, unsupported or not authorized for this public surface.

## Changes

- **2026-07-26** `996f96a11758`: 1 breaking, 4 info
  - removed the success response with the status `200`
  - api operation id `getPersonaBySlugContracts` was added
  - endpoint deprecated
  - added the non-success response with the status `429`
  - …1 more

[Operation history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/persona/:slug/contracts/get.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) - [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/revisions/601ff6123c86?raw)
