Reports
Create KYC Summary Report
Create a report containing KYC flagged workers by company.
POST
/
reports
/
kyc-summary
cURL
curl --request POST \
--url https://api.zeal.com/reports/kyc-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "<string>",
"media_type": "csv"
}
'import requests
url = "https://api.zeal.com/reports/kyc-summary"
payload = {
"companyID": "<string>",
"media_type": "csv"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({companyID: '<string>', media_type: 'csv'})
};
fetch('https://api.zeal.com/reports/kyc-summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zeal.com/reports/kyc-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'companyID' => '<string>',
'media_type' => 'csv'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zeal.com/reports/kyc-summary"
payload := strings.NewReader("{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.zeal.com/reports/kyc-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/kyc-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {}
}{
"success": false,
"errors": [
{
"message": "<string>",
"code": 123
}
]
}This endpoint is subject to frequent changes.
job_id instead of the raw data itself. Because the data returned can be large, Zeal uses a job queue to process the report instead of returning it synchronously. Once the job status is marked as complete, the report can be downloaded using the Get Report Download endpoint.
Example Response - 200
{
"success": true,
"data": {
"job_id": "707ce36e-2267-2088-9fc4-c34d57c69c72",
"status": "pending",
"request_body": {
"companyID": "fe93448eueowej923474124eeze9",
"employment_status": "live",
"kyc_status": "all",
"media_type": "csv"
},
"created_at": "2024-02-29T18:21:28.951Z"
}
}
Example Response - 400
{
"success": false,
"errors": [
{
"message": "Must provide a valid companyID",
"code": 50
}
]
}
Body
application/json
⌘I
cURL
curl --request POST \
--url https://api.zeal.com/reports/kyc-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "<string>",
"media_type": "csv"
}
'import requests
url = "https://api.zeal.com/reports/kyc-summary"
payload = {
"companyID": "<string>",
"media_type": "csv"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({companyID: '<string>', media_type: 'csv'})
};
fetch('https://api.zeal.com/reports/kyc-summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zeal.com/reports/kyc-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'companyID' => '<string>',
'media_type' => 'csv'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zeal.com/reports/kyc-summary"
payload := strings.NewReader("{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.zeal.com/reports/kyc-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/kyc-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"<string>\",\n \"media_type\": \"csv\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {}
}{
"success": false,
"errors": [
{
"message": "<string>",
"code": 123
}
]
}