---
title: Public parameters
slug: ki/public-parameters
description: Learn how to effectively use public parameters such as Authorization, Host, Content-Type, X-Timestamp, and X-Region in identifying users and interface signatures. Find out why these parameters are essential in every request's HTTP header and discover a de
docTags: 
createdAt: 2023-06-30T03:27:05.046Z
---

Public parameters are used to identify the user and interface signature. If it is not necessary, these parameters will not be described in the separate interface document of each interface. However, each request needs to carry these parameters to initiate the request normally.

Public parameters need to be put in the HTTP header request header:

| **Parameter Name** | **Type** | **Required** | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authorization      | String   | Yes          | HTTP standard authentication header fields, for example:<br />`K1-HMAC-SHA256 Credential=AKID******EXAMPLE/Date/service/k1_request, SignedHeaders=content-type;host,Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024`<br />Description of each parameter:<br />- `K1-HMAC-SHA256`：Signature method, At present, this value is fixed;<br />- `Credential`：Signature certificate, `AKIDEXAMPLE******EXAMPLE` is  AccessKey；<br />- `Date` : Date is the date of UTC standard time, and its value should be consistent with the UTC standard time date converted by the public parameter x-timestamp；<br />- `Service`: Service is the product name. "cbms" is the fixed value for it.<br />- `SignedHeaders`: Content type and host are required header information for signature calculation;<br />- `Signature`: Signature Digest, see the following documents for the calculation process. |
| Host               | String   | Yes          | The value needs to be determined according to the actual environment. <br />For the development and test environment, the value is `api-test.klavi.ai`; <br />For the production environment, the value is `api.klavi.ai`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Content-Type       | String   | Yes          | Take the fixed value: `application/json`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| X-Timestamp        | Integer  | Yes          | Current UNIX timestamp, which can record the time when API request was initiated. For example, 1529223702. Note: if the time difference from the server is more than 5 minutes, the signature expiration error will be processed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| X-Region           | String   | Yes          | Take the fixed value: `ap-brazil`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

Suppose that the partner wants to query the institutions list, the interface parameter is set to `offset = 0`, and the number of returns is limited to 10, then the request structure is shown as follows: request URL, request header, and request body.

Example of HTTP get request structure:

```json
https://api-testing.klavi.ai/link/external/v2/getInstitutionList

Authorization: K1-HMAC-SHA256 Credential=AKID********EXAMPLE/2021-07-04/cbms/k1_request, SignedHeaders=content-type;host, Signature=5da7a33f6993f0614b047e5df4582db9e9bf4672ba50567dba16c6ccf174c474
Content-Type: application/x-www-form-urlencoded
Host: api-testing.klavi.ai
X-Timestamp: 1539084154
X-Region: ap-brazil
```

##

