https://app.sahlfinancial.com/api with your own key. This site does not proxy the request and does not store your key.
What you need
Step 1. Create a sandbox key
There is no separate sandbox key. A key works in both environments, and each call picks one with theenvironment field (sandbox by default). A “sandbox key” is a key you only use with environment set to sandbox.
- Sign in at app.sahlfinancial.com.
- Open Settings, then the API Keys tab.
- Click New key. Name it
sandbox-test. - Tick the scopes you want to test:
kyc:extract,kyc:verify,kyc:eid. Leave Bound service account empty. If you fill it in, every call must also send a Google identity token inX-Partner-Identity, which the playground cannot do. - Click Create API Key. The secret appears once, as
sk_followed by 8 characters, an underscore and 64 characters. Copy it now. The console cannot show it again.
Step 2. Open the playground
- Open the API reference tab of this site, then Verify a profile.
- Click Try it at the top right of the page.
- In the Authorization field paste your key. Paste the key only. The playground adds
Bearer. - Leave the server as
https://app.sahlfinancial.com/api.
The playground calls the API straight from your browser. If a request fails with a network error before any status code, your browser blocked it (CORS). Run the same request with cURL from the page’s code sample, or use the Postman collection.
Step 3. Run the six requests
Run them in this order. Each one is a few clicks.3.1 Verify a profile
Send the minimal example as it is.case_id is a real id, the entry count in the screening detail is the size of the loaded list, and your workspace policy may add checks. passed: true with a completeness warning is the normal result here. flags and completeness.missing are shortened above.
3.2 Break it on purpose
Setrequire_documents to true and send again. If your workspace policy allows it, the answer now has passed: false and a critical check required:photo_id with the detail no readable government photo ID among the uploads. This shows how a blocked file looks.
3.3 Read a document
- Open Read documents.
- Set
filesto your fake payslip. Setdoc_typetopayslip,referencetoclient-0001,environmenttosandbox,kindtoindividual. - Send.
fields, documents, field_count, checks, reader_unavailable, policy, case_id and document_ids. A payslip gives no checks. Which fields come back depends on what is printed on your file; see Document types and fields.
Each read counts against your monthly allowance (2,000 reads by default).
3.4 Assess risk
Open Verify and assess risk and pick the example Profile with the suitability answers. Send. Expected:verification, assessment and registry. With the example values the assessment is risk profile 58 Balanced, capacity 20 Low, compliance risk Low or Medium (it depends on your policy and screening list) and a suitability string. See Risk assessment for how each number is built.
3.5 Optional: start an eID check
Open Start an eID check, set your own email, send. You get HTTP 201 and akey. Then open Get an eID check, enter the key and send until complete is true. See eID check.
Step 4. Look at the result in the console
Because every request carried areference, the call filed a case on your workspace.
The environment badge in the console top bar switches what the lists show. Switching to production works on every plan, within the plan’s limits: the Free plan includes 10 Production cases a month and needs a verified work email (not Gmail or Yahoo), and Sandbox is unlimited on every plan.
When it fails
All error bodies are in the error catalogue.
Next
Postman
Run the same requests with a collection and a test script.
End-to-end walkthrough
A payslip and a Moroccan national ID to a risk assessment, with cURL, JavaScript and Python.