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

# Flags Negativos

> SERVICE_CREDIT_RISK_SIGNALS_PERSON · Consulta apontamentos negativos, endividamento e quantidade de protestos registrados.

> [!NOTE]
>
> Alias: `SERVICE_CREDIT_RISK_SIGNALS_PERSON` · Preço: **R\$ 4,35** por consulta

Consulta apontamentos negativos, endividamento e quantidade de protestos registrados.

Execute pelo endpoint único [`POST /v1/services`](https://api-docs.omni-ward.com/api-reference/executar-servicos). Você pode combinar este serviço com outros na mesma chamada, enviando cada identificador uma vez.

## Campos do request

| Campo | Obrigatório | Descrição |
| - | - | - |
| `services` | sim | Inclua `"SERVICE_CREDIT_RISK_SIGNALS_PERSON"` na lista. |
| `cpf` | sim | CPF, com ou sem pontuação. |

## Campos em `result`

| Campo | Descrição | Tipo |
| - | - | - |
| `restrictions` | Restrições e protestos encontrados para o CPF. | object |
| `restrictions.HasMinRegister` | Indica se a entidade contém dados mínimos do registro | boolean |
| `restrictions.HasNegativeIndicator` | Indica se a entidade contém indicativos de negativação | boolean |
| `restrictions.HasInquiryIndicator` | Indica se a entidade contém indicativos de consulta | boolean |
| `restrictions.TotalIndebtednessValue` | Valor financeiro total proveniente das negativações | number |
| `restrictions.TotalActiveNegativeAppointments` | Total de Apontamentos Negativos Ativos | integer |
| `restrictions.TotalInactiveNegativeAppointments` | Total de apontamentos negativos inativos | integer |
| `restrictions.TotalNegativeAppointmentsByNature` | Total de apontamentos negativos por natureza da negativação | object |
| `restrictions.NegativeAppointmentsDetails` | Detalhes de apontamentos negativos | array |
| `restrictions.NegativeAppointmentsDetails[].Nature` | Código da natureza do apontamento (ver a seção "Interpretando o campo Nature") | string |
| `restrictions.NegativeAppointmentsDetails[].Amount` | Quantia estipulada do apontamento, em Reais | number |
| `restrictions.NegativeAppointmentsDetails[].Status` | Status do apontamento, onde 'A': ativo e 'I':inativo | string |
| `restrictions.NegativeAppointmentsDetails[].ReferenceDate` | Data de referência do apontamento | string |
| `restrictions.TotalLawsuitsAppointments` | Total de apontamentos de processos | integer |
| `restrictions.TotalLawsuitsAppointmentsByProcessType` | Total de apontamentos de processos por tipo do processo | object |
| `restrictions.LawsuitsAppointmentsDetails` | Detalhes de apontamentos de processos | array |
| `restrictions.LawsuitsAppointmentsDetails[].ProcessType` | Tipo do Processo | string |
| `restrictions.LawsuitsAppointmentsDetails[].ProcessAuthor` | Autor do processo | string |
| `restrictions.LawsuitsAppointmentsDetails[].JusticeType` | Tipo de justiça em que o processo foi ajuizado | string |
| `restrictions.LawsuitsAppointmentsDetails[].Amount` | Quantia estipulada no processo | number |
| `restrictions.LawsuitsAppointmentsDetails[].ReferenceDate` | Data de ajuizamento do processo | string |
| `restrictions.TotalAmountMoneyOfReceivedLawsuits` | Quantia total em dinheiro requerida por processos recebidos | number |
| `restrictions.LastNegativeAppointmentDate` | Data do último apontamento negativo | string |
| `restrictions.TotalProtestedAmount` | Quantidade total protestada | number |
| `restrictions.TotalInquiriesLast30Days` | Total de consultas feitas à entidade nos últimos 30 dias | integer |
| `restrictions.TotalInquiriesLast60Days` | Total de consultas feitas à entidade nos últimos 60 dias | integer |
| `restrictions.TotalInquiriesLast90Days` | Total de consultas feitas à entidade nos últimos 90 dias | integer |
| `restrictions.TotalInquiriesMore90Days` | Total de consultas feitas à entidade além de 90 dias | integer |
| `restrictions.TotalInquiriesBySegment` | Total de consultas por segmento | object |
| `totalRegisteredProtests` | Total de protestos registrados, ou null quando a fonte não informa. | number |

Todo `result` traz também `outcome`, o resumo da consulta: `clear`, `alert`, `match`, `no_match` ou `not_found`.

```bash cURL theme={null}
curl --request POST 'https://api.omni-ward.com/v1/services' \
  --header 'Authorization: Bearer $OMNI_WARD_API_KEY' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: $(uuidgen)' \
  --data '{
  "services": [
    "SERVICE_CREDIT_RISK_SIGNALS_PERSON"
  ],
  "cpf": "00000000000"
}'
```

```javascript Node.js theme={null}
const res = await fetch('https://api.omni-ward.com/v1/services', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.OMNI_WARD_API_KEY}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify({
    "services": [
      "SERVICE_CREDIT_RISK_SIGNALS_PERSON"
    ],
    "cpf": "00000000000"
  }),
});
const { results } = await res.json();
```

```python Python theme={null}
import os, uuid, requests

res = requests.post(
    "https://api.omni-ward.com/v1/services",
    headers={"Authorization": f"Bearer {os.environ['OMNI_WARD_API_KEY']}", "Idempotency-Key": str(uuid.uuid4())},
    json={
      "services": [
        "SERVICE_CREDIT_RISK_SIGNALS_PERSON"
      ],
      "cpf": "00000000000"
    },
    timeout=90,
)
results = res.json()["results"]
```

```php PHP theme={null}
$ch = curl_init("https://api.omni-ward.com/v1/services");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer " . getenv("OMNI_WARD_API_KEY"),
    "Content-Type: application/json",
    "Idempotency-Key: " . bin2hex(random_bytes(16)),
  ],
  CURLOPT_POSTFIELDS => '{"services":["SERVICE_CREDIT_RISK_SIGNALS_PERSON"],"cpf":"00000000000"}',
]);
$results = json_decode(curl_exec($ch), true)["results"];
```

```java Java theme={null}
var body = """
    {
      "services": [
        "SERVICE_CREDIT_RISK_SIGNALS_PERSON"
      ],
      "cpf": "00000000000"
    }
    """;
var request = HttpRequest.newBuilder(URI.create("https://api.omni-ward.com/v1/services"))
    .header("Authorization", "Bearer " + System.getenv("OMNI_WARD_API_KEY"))
    .header("Content-Type", "application/json")
    .header("Idempotency-Key", UUID.randomUUID().toString())
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
```

```json 200 theme={null}
{
  "results": [
    {
      "service": "SERVICE_CREDIT_RISK_SIGNALS_PERSON",
      "status": {
        "code": 200,
        "message": "Success"
      },
      "result": {
        "restrictions": {
          "HasMinRegister": false,
          "HasNegativeIndicator": false,
          "HasInquiryIndicator": true,
          "TotalIndebtednessValue": 0,
          "TotalActiveNegativeAppointments": 0,
          "TotalInactiveNegativeAppointments": 0,
          "TotalLawsuitsAppointments": 0,
          "LastNegativeAppointmentDate": "0001-01-01T00:00:00",
          "TotalInquiriesLast30Days": 113,
          "TotalInquiriesLast60Days": 246,
          "TotalInquiriesLast90Days": 316,
          "TotalInquiriesMore90Days": 283,
          "TotalInquiriesBySegment": {
            "Serviços": 23,
            "Outros": 12
          }
        },
        "totalRegisteredProtests": 0,
        "outcome": "clear"
      },
      "simulated": false,
      "costMinor": 435
    }
  ],
  "totalCostMinor": 435
}
```

```json 422 theme={null}
{
  "error": {
    "code": "validation_failed",
    "message": "Alguns serviços não podem ser executados. Nada foi consultado nem cobrado.",
    "correlationId": "4f1c9a7e-2b1d-4c55-9a51-0d2f6f1c2a10",
    "details": {
      "results": [
        {
          "service": "SERVICE_CREDIT_RISK_SIGNALS_PERSON",
          "status": {
            "code": 422,
            "message": "Validation failed"
          },
          "result": null,
          "errors": [
            {
              "field": "cpf",
              "code": "required",
              "message": "Informe CPF: este serviço exige o campo."
            }
          ]
        }
      ]
    }
  }
}
```


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