> ## Documentation Index
> Fetch the complete documentation index at: https://developers.mypilotindex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Insights

> Lee Workforce para ver a los pilotos como un mercado, y muestra a un piloto dónde está entre sus colegas.

Insights ofrece dos lecturas. Un socio con `insights.read` lee Workforce: cómo son los pilotos de MyPilotIndex como mercado, en datos agregados. Una app de piloto con un grant que incluye `insights.position` lee dónde está un piloto frente a su cohorte.

## Lee Workforce

```bash theme={null}
curl "https://{api-host}/v1/partner/insights/workforce/overview?country=BR" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

```json theme={null}
{
  "schema_version": 1,
  "screen": "overview",
  "as_of": "2026-11-05",
  "generated_at": "2026-11-06T04:50:00Z",
  "cohort": { "status": "ok", "denominator": "cohort" },
  "privacy": { "cohort_floor": 20, "cell_floor": 5 },
  "sections": {
    "composition": {
      "status": "ok",
      "buckets": [{ "key": "major", "share_pct": 18, "suppressed": false }],
      "unpublished_pct": 2
    }
  }
}
```

Hay seis pantallas: `overview`, `geography`, `qualifications`, `aircraft`, `score` e `intent`. Cada una acepta los mismos filtros que acepta la pantalla de un miembro, como máximo tres a la vez. La [referencia de la API](https://developers.mypilotindex.com/es/api-reference/introduction.md) los lista. Un filtro desconocido, uno repetido o un valor fuera del vocabulario responde `400 invalid_request`, y un nombre fuera de las seis pantallas responde `404 not_found`.

## Cómo se protegen las cifras

El servidor aplica los umbrales, así tu código nunca tiene que hacerlo:

* Una cohorte por debajo del umbral responde `status: "insufficient"` y ninguna sección.
* Una celda por debajo de su umbral se suprime, y la parte que tenía aparece en `unpublished_pct`.
* Un filtro que dejaría muy pocos pilotos se descarta, y la respuesta lo indica en `filters.broadened`.

Ninguna respuesta lleva un conteo de pilotos. El tamaño de una cohorte es un rango, nunca un número. Una publicación que nunca se ejecutó responde solo `schema_version`, `screen`, `generated_at` y `cohort`, con el estado `not_ready`.

## Muestra a un piloto su posición

```bash theme={null}
curl https://{api-host}/v1/partner/grants/{grant_id}/workforce-position \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

```json theme={null}
{
  "schema_version": 1,
  "as_of": "2026-11-05",
  "generated_at": "2026-11-06T09:12:00Z",
  "privacy": { "cohort_floor": 20, "cell_floor": 5 },
  "cohort": { "status": "ok", "level": 2, "n_band": "250_499" },
  "metrics": {
    "total_hours": { "status": "ok", "percentile": 62, "cohort_median": 1180 },
    "score": { "status": "ok", "percentile": 71, "cohort_median": 431.5 },
    "type_rating_count": { "status": "missing" }
  }
}
```

Las seis métricas son `total_hours`, `pic_hours`, `score`, `type_rating_count`, `years_experience` e `international_hours`. Cada una tiene un `status` de `ok`, `missing` o `insufficient`, y `percentile` y `cohort_median` aparecen solo con `ok`.

`cohort.level` indica qué nivel de la cohorte respondió, desde 1, el más específico, hasta 4, todos los pilotos. La respuesta no nombra al piloto en ningún lugar.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.