Authentication
Public server-to-server requests from external applications use Client Credentials.
Your PredictaID administrator provides:
- API base URL for each environment.
clientId.clientSecret.- Webhook signing secret.
Use different credentials for sandbox, staging, and production.
Headers
Include the following headers in your HTTP requests:
x-client-id: Your Client IDx-client-secret: Your Client Secret
x-client-id: client_abc123
x-client-secret: your_client_secret
Content-Type: application/json
Note: Client applications are generated and managed in the Developers > My Apps section of the dashboard by authorized operators.
Public vs Operator APIs
Client credentials are used by public integration endpoints such as KYT ingestion and legacy transaction submission.
Dashboard/operator APIs use user authentication and permissions. They are not the same contract as the public client-credential APIs and should not be called from customer integrations unless PredictaID explicitly enables that integration path.
Secret Handling
- Store
clientSecretin a backend secret manager. - Never include the secret in browser JavaScript or mobile apps.
- Do not log credentials, full CPF/CNPJ, or raw bureau data.
- Rotate credentials when a secret is exposed or an application is decommissioned.
- Use HTTPS for all requests.
Example Request
curl -X POST "https://{api-host}/kyt/transactions/ingest" \
-H "Content-Type: application/json" \
-H "x-client-id: client_abc123" \
-H "x-client-secret: $PREDICTAID_CLIENT_SECRET" \
-d '{"transactionId":"order_100045","type":"PIX_TRANSFER","channel":"MOBILE_APP","amount":1250.75,"currency":"BRL","occurredAt":"2026-05-06T13:30:00.000Z","origin":{},"destination":{}}'
Response Codes
401 Unauthorized: Invalid Client ID or Secret.403 Forbidden: Application is disabled or scope is insufficient.429 Too Many Requests: Rate limit exceeded.
For request/response examples and go-live checks, see Integration Reference.