KSA API v1 - Signin | Complyance
Use this API to authenticate with Complyance's KSA v1 API service. This version uses a simple refresh token-based authentication to obtain an access token for accessing ZATCA (Zakat, Tax and Customs Authority) APIs. The access token is required for all other v1 API endpoints.
You have to pass all the required params in the specified format at the minimum to create your account successfully.
- Shell
- Javascript
- Ruby
- Python
- PHP
- Java
- Go
# You can also use wget
curl -X POST https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
const inputBody = '{
"refreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.vIQlHk6vMsCXHRI-SjVgK3jKOWxpuF_7vEL0ouxTZ0haTtWJ8rHsgcbIHK7exfkV45q2gdy2bamTt_QpHq1WAQxdepQU5wIO0vWQJHyLloxAr-tows2s6ZNov-qHIyZ5j1q1p4R0q8DvG7G27mzlVlG9jNVzOtxW6l4ZnDpyArhdvA1bh_7m5C_aTCiXVfICsS3dlz6-Bhjql7xuviL5I3FWTCgJgiMeEpa-wvXd8mo1mOcn2uXOtBRSlPQ9CXm-qegKhYJ0fYOpsdfPLVNNx8j5biKiQl_zD-Fd9CI0i-y9UH7lruY-4HxdcvsjN_29nhxUSiRCWgsk6bQQ8t2AHA.GZEpXTpg988Uo7tF.EeJ6grBYAmqUIAllZq3c-LrDKaDVwjBNmX8MZSStDSYsjHQSmXXe0s-W_3nIc4l93E9v3m4Gg8T116eTEgqTvxw0x9JwXr_kVerf7Kjgrf5w1zXruv0AFt0joJwypv57lXzPvMubPQlVqZIFwlC1HAdZ2m6ljlXSXTbsUQVGIJdl2UpqePbKA5-j3_WHt90Rq_RjkCSmroCqdLlSx4n-EcPbnTD1AvFwbUusZ51OOJskMkOcaFH-1G4DT_ba0uZVkAHcHP_PY2TWWXw4dPJxZwroAEtNktXBIo5f8QddnWW1rQzcX7qImbxNjIN-c69UZ3oj991hmMN-BS_oppTammWa8bOh0ojjbmpLJKVAw55rGmzUHCnfwsknOxksC1BE0Vsn7iLOFnNP9eaCuHML-BgqPUBaTLaTe_nmMLBXFbPcitZH_15jLMUwqtTzQpvAC6LzCROAc56igcFHVs43mKRNdJ99hr0VBh4ixBd4uvAuWZb9rrsfGfcNw6iFavJfjxYKyL_i90z0Fpu0z_q7sG9_4KRLQX_0X6lrxQYT0FpLRzcCgIHPMqobi-pkZSlUHXJpj9ADpgQ0945fobvclyRDI3w3Xaet2CreC3vCTydmMk1JezKkx7cRLQTWDURnigbts_25UOh46YW_YDCapXNsCdVEbQXKEnMIe5m4ewrukqdWc49S3rBwDnSy76-oR6Hd6kLm0ay9g40Mf3LcBl-3kfqRGYwqyFixEnextBiYwZEMwl5zlsnj-vGDGYyptkCqBJ9gRUqgwhfnrgC0rMZuQuxcLukn-yFRCkYHPRNB7AdvgioE7JlwwgQ_EchypQ8967cyOqSHJLwk_hsH7tpWjsnIy31j4-vIhSBH9jqaTGy3pYWsVlRCYTQBbzGIksxAxrFOQH_v1fAzmpYHayj1AxtJJQX7SQQbNUyrEMiFSMnfLfpyW7RtudjFsVCrMK26OBRzZCvgKXNRFsIIlqWPpN5c4-Qol26yhmnf_oCg8iZWIU2FkLrlDvgqqxaCuwHjTvqawGT_dJsOBSfmWBIBx23aV37mZc9j7Kgb9AeXwaW6BezZ-GH4BW3WuSrXgkRQtIYyIPkwJjKJKp5Yc2bOQiXwETiCOrorT-J5erqiqWXsVtscsfMPYOmAntp5F_O_nJ3Q7HtEAYbTr2FtPKfINRn2V5Xwc6DcUT9oHgSBdCEvYL_uqZUaZ-4O1xMCbLN0tqsomy_IwDWxJB_GKHgk6bT5Eh-3VApxYkKTzWZVi2jKUmCBegPv3UZrYx5mOP9ZS24cAdWCeUr8f1IuHMbaivTYQnmUeyHVRBMaETvKxE1-2aT2RKmE1lLSmw.a7U8dMq_CfIxsv6RbTjpng"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://t5wtfl1d2e.execute-api.ap-south-1.amazonaws.com/dev/api/v1/proto/signIn", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Request Parameters
PARAMS | REQUIRED | DATA TYPE | DESCRIPTION | EXAMPLE |
---|---|---|---|---|
refreshToken | YES | string | The refresh token is a permanent token obtained while signup. It is valid for one year from the time of creation. | eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.KRDvJ0DCgVcVFvn_S0iIWJ-cKM2x3l_Qh2484VS2jeu9s5gH-iX_LIg-B4QatusdLseifdvkxu-_CCZQT_PE_OKmOjt2y_5NXpqQSwSKE9i81rRTITMSX3FIZ7eeZcxua-ZVoj2leVuwB1qg5l9Wk70OEJBG2DOM_rKJ3ktSMOn4XcNONM_hwtqoPiX_CcKD3KJ6lHjNry9d0DrA9EVBt-kk9Mrp_9Ffmwr8edeg4SoSgNAm5aXyWYXRaZKoPzEvVsZqCE8TNpx2PDqx4u-IXNb8lTAjGmW1Kg5wF1P4-mrcrC7SJtH6JScF_e4Zo4lUkqTPG_RhOcFne3wCL-9ttQ.ewtpvdb6RdRdnOpJ.ggjcQgmORDPiIH2F8pCtOwL-DIk0B2jKD4UFdVxS1Ki_z1wZTQgCxFXZiwk0QDGUlfq96zNrZdJ2FPEK85Xfb44oUGCiIvDlv7k2NjbomhfX2w60NMV_Atmyrj3I5Uot5lIqQRApfMZRLtg0S6fZzGexl88693rAolEH8M_3SZu1Xa1IRzp_xnnTuYks9jHIN-CbzBzuIVVTvgXSPix77XQH-JimdjKgekW922-zhghcM9ut641oIshNKFoqjUVTWEAOlkFtdlAtkJM3UpGTnuDEc-NZcfyZYWTs6J_PNGZGrK708HpZ7L1plgCkGDLXRozcU__fmRj8vnKx5Kmy_yv692BAFxgc36LHQoOTEIAepA1WWpGZyy7PmxbW-eDUwc1LjxPPj9PnRiV1aWkdwZyRUTDAniosKqs_zNas3zD1TQVCes4-Hs3pViVrG9gyd7VkQMIZWAKav7pqbdliAzGgIDf6W_zOc_fOZg1bqli6Tpk1f9oK6lGPiDYnx2zY5DZdjudBRB65G6M865L-jR2enMXRbUobfkyHvGwHxDFdhbSawykjYiivVkTWitBUrFC7iVUT2Se44YHwD0JZ-PDtljmvsOBHpKqx73XZ9NehZ4HY7u4KKnH1GYUqzP_jG7NHE9QV49avvqu18o071CwWmXngsCHrMNHt22ijgnY4e5SJ8R5lxEamQH4skn-gyjIWN7iWVzmuemFMwEPBFJrNBiUodXC1EwB0WyJXS2Mjn-xLBnKI_hZCiqEXjTZpkcuHObXCmh04F_6Vt8hb_yFwWArl8Ldk1miNUCkRbnGkACzeJS-I096MKElPqs69BcrDCL0gfFZLNEqSwt3ogTp2AdoX_oRw-iHkHPBVTLK7ZDKaXPuqiVZ6htfIFUwAol-_mvOz5k7zkr9XQakCZgPeuF9unsnRVT7HQSV5T_1Yb6mSwVqo1GRkcwHgwS5O9dyvW3ahfNWUMlI7Il2zGUnnRtAbhxcu37OIBnHEQNSRfCIKx3wzKD5V5AILe8MPzB73jBqR_Lg1OciXEKdeiSuQzYHHr7y48mW_a36h9JDwPuxb8Hk1jF7CRPvXbnSH8SMHKyL3hrdkQjuECRiNfWnI1EE7ah0w_xBQ_UdZatp0CXxvcibfah1jDIqCRa3tBm0iVofOfcAexdDliW283HgBq7dv40draSZOvoH7h2jCBhNC9BYu-y3R24pwUfap_KcHqUrKCcB-Q7Nx4JBSb18Hw4dm_qJM2CdEo9TQwtJgKdFunDOzCyMhagzBkkVcN_9428c9pfJ-SEzIjLA5s-HJcqOgQdB-v5_dXEc-ATYbEe7qvzEy-gZ8WcUGMw.yA4sRDd5mFmumcjofmYpgg |
Response Parameters
PARAMS | DATA TYPE | DESCRIPTION | EXAMPLE |
---|---|---|---|
accessToken | string | The access token is a temporary token. It is valid for one day from the time of creation. Use this access token in the 'Authorization' header to access the other Antna APIs. | eyJraWQiOiJYbUU2MnZzZkdkZWI0bzEyUWlcL0F5OEcrcUQxand2N0JwRGN6aWdrM2ZVaz0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjYmIyYTBlYy02ZWJiLTQ3ZDgtOGFhZC1kNjFjNDgyMDRiYTMiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGgtMS5hbWF6b25hd3MuY29tXC9hcC1zb3V0aC0xX0pBUHpIMk9hRSIsImNsaWVudF9pZCI6IjZxNWoydmo5YjB1cXAzZWtrdXJvc2gxOWVmIiwib3JpZ2luX2p0aSI6IjQwNDNjNDZjLTYwMDktNGJiOS05YTliLTE2N2JkYjk5OWI1NyIsImV2ZW50X2lkIjoiYWE4Nzg2ZDItZDc0Mi00MmNmLTg2MWUtMTIzZGRkMzA2NGEwIiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJhd3MuY29nbml0by5zaWduaW4udXNlci5hZG1pbiIsImF1dGhfdGltZSI6MTY3MzA4Njk2MiwiZXhwIjoxNjczNDQ4NjU4LCJpYXQiOjE2NzMzNjIyNTgsImp0aSI6IjI2YTk4NmQzLTE3YjktNDI3OC1hZDQ0LTk0Mzc2OTY4YWNmNiIsInVzZXJuYW1lIjoiY2JiMmEwZWMtNmViYi00N2Q4LThhYWQtZDYxYzQ4MjA0YmEzIn0.TkcGvbFASIzgJb47DODccoNL8HhmDYvau6gQ2vVhnWSFAWhNzog2mCckvpAjYadM4LNe4EoC3rTKWUaoP6ezejYqIZCKpcA5LP6GEMpxkTmQhcEgBqqDEjQT-CUgLzbpZzvqAMvXL2BorYUDIcn_QADgXEA9xtzjiCYFP4VVX0Ry_prAdVCTOphoICKJUbeMhwhra-KZTg9lkdmDS7cJ1QJ-Y8USNSYgRLG56zTnFjS98yMMZI4qhpZ2mn84eE2ynukNioFdok-U03v5fk12Yhdo7eSnjLGwf0L9iUSl-QdeS-PCEungC5cvXeY0-JdTvImYVkxUI8o5xDdG1TN-wA" |
} |
> Body parameter
```json
{
"refreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.vIQlHk6vMsCXHRI-SjVgK3jKOWxpuF_7vEL0ouxTZ0haTtWJ8rHsgcbIHK7exfkV45q2gdy2bamTt_QpHq1WAQxdepQU5wIO0vWQJHyLloxAr-tows2s6ZNov-qHIyZ5j1q1p4R0q8DvG7G27mzlVlG9jNVzOtxW6l4ZnDpyArhdvA1bh_7m5C_aTCiXVfICsS3dlz6-Bhjql7xuviL5I3FWTCgJgiMeEpa-wvXd8mo1mOcn2uXOtBRSlPQ9CXm-qegKhYJ0fYOpsdfPLVNNx8j5biKiQl_zD-Fd9CI0i-y9UH7lruY-4HxdcvsjN_29nhxUSiRCWgsk6bQQ8t2AHA.GZEpXTpg988Uo7tF.EeJ6grBYAmqUIAllZq3c-LrDKaDVwjBNmX8MZSStDSYsjHQSmXXe0s-W_3nIc4l93E9v3m4Gg8T116eTEgqTvxw0x9JwXr_kVerf7Kjgrf5w1zXruv0AFt0joJwypv57lXzPvMubPQlVqZIFwlC1HAdZ2m6ljlXSXTbsUQVGIJdl2UpqePbKA5-j3_WHt90Rq_RjkCSmroCqdLlSx4n-EcPbnTD1AvFwbUusZ51OOJskMkOcaFH-1G4DT_ba0uZVkAHcHP_PY2TWWXw4dPJxZwroAEtNktXBIo5f8QddnWW1rQzcX7qImbxNjIN-c69UZ3oj991hmMN-BS_oppTammWa8bOh0ojjbmpLJKVAw55rGmzUHCnfwsknOxksC1BE0Vsn7iLOFnNP9eaCuHML-BgqPUBaTLaTe_nmMLBXFbPcitZH_15jLMUwqtTzQpvAC6LzCROAc56igcFHVs43mKRNdJ99hr0VBh4ixBd4uvAuWZb9rrsfGfcNw6iFavJfjxYKyL_i90z0Fpu0z_q7sG9_4KRLQX_0X6lrxQYT0FpLRzcCgIHPMqobi-pkZSlUHXJpj9ADpgQ0945fobvclyRDI3w3Xaet2CreC3vCTydmMk1JezKkx7cRLQTWDURnigbts_25UOh46YW_YDCapXNsCdVEbQXKEnMIe5m4ewrukqdWc49S3rBwDnSy76-oR6Hd6kLm0ay9g40Mf3LcBl-3kfqRGYwqyFixEnextBiYwZEMwl5zlsnj-vGDGYyptkCqBJ9gRUqgwhfnrgC0rMZuQuxcLukn-yFRCkYHPRNB7AdvgioE7JlwwgQ_EchypQ8967cyOqSHJLwk_hsH7tpWjsnIy31j4-vIhSBH9jqaTGy3pYWsVlRCYTQBbzGIksxAxrFOQH_v1fAzmpYHayj1AxtJJQX7SQQbNUyrEMiFSMnfLfpyW7RtudjFsVCrMK26OBRzZCvgKXNRFsIIlqWPpN5c4-Qol26yhmnf_oCg8iZWIU2FkLrlDvgqqxaCuwHjTvqawGT_dJsOBSfmWBIBx23aV37mZc9j7Kgb9AeXwaW6BezZ-GH4BW3WuSrXgkRQtIYyIPkwJjKJKp5Yc2bOQiXwETiCOrorT-J5erqiqWXsVtscsfMPYOmAntp5F_O_nJ3Q7HtEAYbTr2FtPKfINRn2V5Xwc6DcUT9oHgSBdCEvYL_uqZUaZ-4O1xMCbLN0tqsomy_IwDWxJB_GKHgk6bT5Eh-3VApxYkKTzWZVi2jKUmCBegPv3UZrYx5mOP9ZS24cAdWCeUr8f1IuHMbaivTYQnmUeyHVRBMaETvKxE1-2aT2RKmE1lLSmw.a7U8dMq_CfIxsv6RbTjpng"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | none |
Example responses
200 Response
{
"accessToken": "eyJraWQiOiJYbUU2MnZzZkdkZWI0bzEyUWlcL0F5OEcrcUQxand2N0JwRGN6aWdrM2ZVaz0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjYmIyYTBlYy02ZWJiLTQ3ZDgtOGFhZC1kNjFjNDgyMDRiYTMiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGgtMS5hbWF6b25hd3MuY29tXC9hcC1zb3V0aC0xX0pBUHpIMk9hRSIsImNsaWVudF9pZCI6IjZxNWoydmo5YjB1cXAzZWtrdXJvc2gxOWVmIiwib3JpZ2luX2p0aSI6IjQwNDNjNDZjLTYwMDktNGJiOS05YTliLTE2N2JkYjk5OWI1NyIsImV2ZW50X2lkIjoiYWE4Nzg2ZDItZDc0Mi00MmNmLTg2MWUtMTIzZGRkMzA2NGEwIiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJhd3MuY29nbml0by5zaWduaW4udXNlci5hZG1pbiIsImF1dGhfdGltZSI6MTY3MzA4Njk2MiwiZXhwIjoxNjczNDQ4NjU4LCJpYXQiOjE2NzMzNjIyNTgsImp0aSI6IjI2YTk4NmQzLTE3YjktNDI3OC1hZDQ0LTk0Mzc2OTY4YWNmNiIsInVzZXJuYW1lIjoiY2JiMmEwZWMtNmViYi00N2Q4LThhYWQtZDYxYzQ4MjA0YmEzIn0.TkcGvbFASIzgJb47DODccoNL8HhmDYvau6gQ2vVhnWSFAWhNzog2mCckvpAjYadM4LNe4EoC3rTKWUaoP6ezejYqIZCKpcA5LP6GEMpxkTmQhcEgBqqDEjQT-CUgLzbpZzvqAMvXL2BorYUDIcn_QADgXEA9xtzjiCYFP4VVX0Ry_prAdVCTOphoICKJUbeMhwhra-KZTg9lkdmDS7cJ1QJ-Y8USNSYgRLG56zTnFjS98yMMZI4qhpZ2mn84eE2ynukNioFdok-U03v5fk12Yhdo7eSnjLGwf0L9iUSl-QdeS-PCEungC5cvXeY0-JdTvImYVkxUI8o5xDdG1TN-wA"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Date | string | none | |
200 | Content-Type | string | none | |
200 | Content-Length | integer | none | |
200 | Connection | string | none | |
200 | x-amzn-RequestId | string | none | |
200 | Access-Control-Allow-Origin | string | none | |
200 | Access-Control-Allow-Headers | string | none | |
200 | x-amz-apigw-id | string | none | |
200 | Access-Control-Allow-Methods | string | none | |
200 | Access-Control-Expose-Headers | string | none | |
200 | X-Amzn-Trace-Id | string | none |
To perform this operation, you must be authenticated by means of one of the following methods: noauthAuth