apiKey and secretKey) that you generate yourself once Kravata approves your company. You exchange them for a temporary access token and send that token in every request.
Get your credentials
1
Complete the onboarding
In test, register and configure your company yourself with Company sign-up: after your first configuration you receive the credentials link by email, and the credentials page also shows your
x-integration-register value. In production, Kravata registers your company during the onboarding and compliance review. You can generate credentials once your company is approved.2
Request your credentials link
Open the credentials page of the environment, enter your registered email or your NIT / ID number, and complete the reCAPTCHA.
3
Open the link sent to your email
Kravata sends a single-use link to the email registered for your company, never to a different address. The link expires in 15 minutes, and you can request up to 3 links per hour.
4
Generate and store your credentials
Open the link and click Generate my credentials. Your
apiKey and secretKey are shown only once: copy them immediately and store them in a secrets manager.For security, the page always answers with the same message, whether or not the data matches an approved company. If you don’t receive the email in a few minutes, check that you used the email or ID registered with Kravata, or contact your Kravata point of contact.
Get an access token
Call Client Login with your credentials.accessToken) and its validity in seconds (expiresIn). Store the token and reuse it until it expires instead of requesting a new one for every call.
Authenticate your requests
Send the token in theAuthorization header of every other request:
401. Request a new one with the same endpoint.
Production access: mTLS and IP allowlist
For security, the production domainpartners-api.kravata.co only accepts connections that present the client certificate issued by Kravata for your company, coming from IP addresses you have registered.
1
Request your mTLS certificate
Ask your Kravata point of contact for your client certificate (
client.crt) and private key (client.key). Store the private key securely: anyone with it and your API credentials can connect as your company.2
Present the certificate in every request
Configure your HTTP client to send the certificate and key on every production request, including the token request. Connections without a valid certificate are closed during the TLS handshake, before reaching the API.
3
Register your IP allowlist
Call Update IP Allowlist with the IP ranges of your servers, in CIDR notation. Once a list is registered, requests from any other IP are rejected.
Using the certificate in your HTTP client
partners-api.kravata.co.
The interactive playground in this documentation cannot present a client certificate, so use it against the test environment. For production, use your own backend, curl or Postman with the certificate configured.
This applies to the Stack API credentials above. The Mobile SDK uses a different value, the
sharedKey, which your backend does hand to the app at runtime for each widget session — that is by design and is not the same as your apiKey/secretKey. See Backend for the Mobile SDK.
