IntegrationsList Integration Fields

List Integration Fields

List the configuration fields of a single integration — everything a company has to supply before the integration can run.

Use this to build the setup form dynamically instead of hard-coding each ATS: render one input per field in order, send the answers back as config in Compose Company Integration keyed by config_path, and skip the fields where is_visible is false.

Which fields come back depends on the partner's entitlements, so two partners can see different forms for the same integration. The response is a plain array — this endpoint is not paginated. An unknown integration slug returns an empty array rather than a 404.

Requires a partner-scoped API key.

curl -X GET "https://api.getkini.com/integrations/personio/fields/" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
[
  {
    "id": 68,
    "integration": "personio",
    "title": "Recruiting API Key",
    "placeholder": null,
    "description": "Navigieren Sie zu Einstellungen > API-Zugangsdaten. Klicken Sie auf den "Recruiting API key".",
    "order": 1,
    "field_type": "text",
    "options": [],
    "config_path": "credentials.api_key",
    "regex_pattern": null,
    "is_required": true,
    "is_visible": true
  }
]
GET
/integrations/{integration}/fields/
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
path
integrationstring
Required

Slug of the integration, as returned by List Integrations

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer \<your_api_key\>.

Path Parameters

integrationstring
Required

Slug of the integration, as returned by List Integrations

Example:
personio

Responses

idinteger

Kini ID of the field

integrationstring

Slug of the integration the field belongs to

titlestring

Label to show above the input

placeholderstring

Placeholder text for the input

descriptionstring

Help text explaining where the company admin finds this value

orderinteger

Display order, ascending. Fields without an order come last.

field_typestring

Input type. Enum: text, json (a JSON string, parsed on submit), secret, number, boolean, select, multi_select.

Allowed values:textjsonsecretnumberbooleanselectmulti_select
optionsstring[]

Allowed values for select and multi_select fields. Empty otherwise.

config_pathstring

The key to send this value under in the config object of Compose Company Integration. Dotted paths may be sent flat ("credentials.api_key": "…") or nested (\{"credentials": \{"api_key": "…"\}\}) — both are accepted. Paths ending in a dot, such as channel_mapping., expect a nested object.

regex_patternstring

Regular expression the value must match, if any

is_requiredboolean

Whether the field must be supplied. Only enforced for fields that are also visible.

is_visibleboolean

Whether to show the field to the company admin. Hidden fields are filled from their default and should not be rendered in a setup form.