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

# Batch Compliance

> Usa los endpoints de Batch Compliance de X API v2 para subir conjuntos de datos de Post ID o user ID y recuperar el estado actual de cumplimiento por eliminaciones, suspensiones y ediciones.

export const Button = ({href, children}) => {
  return <div className="not-prose">
    <a href={href}>
      <button className="x-btn">
        <span>{children}</span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

Los endpoints de Batch Compliance te permiten subir conjuntos de datos de Post IDs o user IDs y recibir su estado actual de cumplimiento. Úsalos para identificar Posts eliminados, cuentas suspendidas y otros eventos de compliance.

## Descripción general

<CardGroup cols={2}>
  <Card title="Compliance de Posts" icon="https://mintcdn.com/x-preview/ygI6sSJPehlc0qNT/icons/xds/icon-chat.svg?fit=max&auto=format&n=ygI6sSJPehlc0qNT&q=85&s=9fde7d51b4f18c96d3a38a81d519761f" width="24" height="24" data-path="icons/xds/icon-chat.svg">
    Verifica el estado de Posts en masa
  </Card>

  <Card title="Compliance de usuarios" icon="https://mintcdn.com/x-preview/SxzTbJaLjs3MidH1/icons/xds/icon-person.svg?fit=max&auto=format&n=SxzTbJaLjs3MidH1&q=85&s=507a4bbcdcf5744bd18781508002e305" width="24" height="24" data-path="icons/xds/icon-person.svg">
    Verifica el estado de usuarios en masa
  </Card>

  <Card title="Asincrónico" icon="clock">
    Envía jobs y recupera los resultados más tarde
  </Card>

  <Card title="Grandes conjuntos de datos" icon="database">
    Procesa millones de IDs
  </Card>
</CardGroup>

***

## Cómo funciona

1. **Crea un job** — Especifica el tipo (Posts o usuarios) y la URL de subida
2. **Sube los IDs** — Sube tu conjunto de datos a la URL proporcionada
3. **Espera el procesamiento** — El job se procesa de forma asincrónica
4. **Descarga los resultados** — Obtén el estado de compliance para cada ID

***

## Endpoints

| Método | Endpoint                                                               | Descripción                   |
| :----- | :--------------------------------------------------------------------- | :---------------------------- |
| POST   | [`/2/compliance/jobs`](/x-api/compliance/create-compliance-job)        | Crear un nuevo compliance job |
| GET    | [`/2/compliance/jobs/:id`](/x-api/compliance/get-compliance-job-by-id) | Obtener el estado del job     |
| GET    | [`/2/compliance/jobs`](/x-api/compliance/get-compliance-jobs)          | Listar todos los jobs         |

***

## Tipos de job

| Tipo     | Descripción                                   |
| :------- | :-------------------------------------------- |
| `tweets` | Verificar el estado de compliance de Posts    |
| `users`  | Verificar el estado de compliance de usuarios |

***

## Eventos de compliance

### Eventos de Post

| Evento      | Descripción                                 |
| :---------- | :------------------------------------------ |
| `deleted`   | El Post fue eliminado por el usuario        |
| `bounced`   | El Post falló la verificación de compliance |
| `protected` | La cuenta se volvió protegida               |
| `suspended` | La cuenta fue suspendida                    |
| `scrub_geo` | Se eliminaron los datos de geolocalización  |

### Eventos de usuario

| Evento        | Descripción                   |
| :------------ | :---------------------------- |
| `deleted`     | La cuenta fue eliminada       |
| `suspended`   | La cuenta fue suspendida      |
| `protected`   | La cuenta se volvió protegida |
| `deactivated` | La cuenta fue desactivada     |

***

## Ejemplo: Crear un job

```bash theme={null}
curl -X POST "https://api.x.com/2/compliance/jobs" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "tweets",
    "name": "my-compliance-job"
  }'
```

***

## Primeros pasos

<Note>
  **Requisitos previos**

  * Una [cuenta de desarrollador](https://developer.x.com/en/portal/petition/essential/basic-info) aprobada
  * Un [Project y App](/resources/fundamentals/developer-apps) en el Developer Console
  * El [Bearer Token](/resources/fundamentals/authentication) de tu App
</Note>

<CardGroup cols={2}>
  <Card title="Inicio rápido" icon="https://mintcdn.com/x-preview/oR-aRNyj1BKPJtxM/icons/xds/icon-rocket.svg?fit=max&auto=format&n=oR-aRNyj1BKPJtxM&q=85&s=b978d7a9225de31709efbbed5b84e92d" href="/x-api/compliance/batch-compliance/quickstart" width="24" height="24" data-path="icons/xds/icon-rocket.svg">
    Crea tu primer compliance job
  </Card>

  <Card title="Guía de integración" icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-book.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=22ac564792481d14ae36a941546039c8" href="/x-api/compliance/batch-compliance/integrate" width="24" height="24" data-path="icons/xds/icon-book.svg">
    Conceptos clave y buenas prácticas
  </Card>

  <Card title="Referencia de la API" icon="https://mintcdn.com/x-preview/ygI6sSJPehlc0qNT/icons/xds/icon-code.svg?fit=max&auto=format&n=ygI6sSJPehlc0qNT&q=85&s=488e23401b19225b89acc0136d242219" href="/x-api/compliance/create-compliance-job" width="24" height="24" data-path="icons/xds/icon-code.svg">
    Documentación completa del endpoint
  </Card>
</CardGroup>
