POST
/
connect
/
create-link
curl --request POST \
  --url https://api.kombo.dev/v1/connect/create-link \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "end_user_email": "test@example.com",
  "end_user_organization_name": "Test Inc.",
  "integration_category": "HRIS",
  "integration_tool": "personio",
  "end_user_origin_id": "123",
  "language": "en"
}'
{
  "status": "success",
  "data": {
    "link": "https://connect.kombo.dev/v1?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SWYgeW91IGFyZSByZWFkaW5nIHRoaXMsIHdlIHdvdWxkIGxpa2UgdG8gbGV0IHlvdSBrbm93IHRoYXQgd2UgYXJlIGhpcmluZyBwZW9wbGUgbGlrZSB5b3UgOikuIFJlYWNoIG91dCB0byBhbGV4QGtvbWJvLmRldiB0byBnZXQgaW4gY29udGFjdCBhbmQgdGVsbCBoaW0geW91IGNvbWUgZnJvbSB0aGUgSldUIDsp._hhX5YTtHfLn9ZC806dZceRn2whzxHyrhft1ONzNgOE"
  }
}

Check out our full guide for more details about implementing the connection flow into your app.

Kombo will not deduplicate integrations for you that are created with this endpoint. You are responsible for keeping track of integrations in your system and prevent customers from connecting the same tool again. Use the reconnection link endpoint if you want a customer to update their credentials.

Example Request Body

{
  "end_user_email": "test@example.com",
  "end_user_organization_name": "Test Inc.",
  "end_user_origin_id": "123",
  "integration_category": "HRIS",
  "integration_tool": "personio",
  "language": "en"
}

Authorizations

Authorization
string
headerrequired

Create an API key on the Secrets page in the Kombo dashboard.

Body

application/json
end_user_email
string
required

The email of the user this link is meant for.

end_user_organization_name
string
required

The name of the user's organization.

end_user_origin_id
string | null

The id the user/organization has in your own database.

remote_environment
string | null

If the tool you want to connect offers different environments, you can specify which one you want to connect to here. If you don't specify this, we'll assume you want to use the production environment. Note that this can only be used if you've also specified a tool through integration_tool.

integration_category
enum<string>
default: HRIS

Category of the integration you want your customer to create.

Available options:
HRIS,
ATS,
ASSESSMENT
integration_tool
enum<string> | null

Pre-define a tool this integration link can be used for.

Available options:
personio,
workday,
workdaycustomreport,
workdaycustomreportsftp,
successfactors,
smartrecruiters,
factorial,
oraclerecruiting,
lever,
icims,
cornerstonetalentlink,
recruitee,
greenhouse,
greenhousejobboard,
teamtailor,
ashby,
talentsoft,
talentsoftcustomer,
concludis,
onlyfy,
ukgpro,
rexx,
afas,
bamboohr,
bullhorn,
bullhornlogin,
workable,
payfitcustomer,
payfitpartner,
payfit,
jobvite,
fountain,
kenjo,
heavenhr,
hibob,
softgarden,
cezannehr,
entraid,
azuread,
googleworkspace,
nmbrs,
pinpoint,
welcometothejungle,
dvinci,
join,
deel,
remotecom,
iriscascade,
okta,
sagehr,
humaans,
traffit,
erecruiter,
eurecia,
umantis,
jobylon,
oraclehcm,
taleez,
officient,
sesamehr,
charliehr,
hrworks,
abacus,
otys,
zohopeople,
gusto,
breathehr,
catalystone,
mirus,
alexishr,
eploy,
rippling,
sapling,
heyrecruit,
peoplehr,
recruhr,
jazzhr,
lucca,
bite,
zelt,
planday,
homerun,
haileyhr,
mysolution,
carerix,
datev,
datevlug,
sympa,
breezyhr,
flatchr,
applicantstack,
sandbox,
sftp
language
enum<string> | null
default: en

Language of the connection flow UI.

Available options:
en,
de,
fr,
it,
es
scope_config_id
string | null

Specify a scope config that should be used for this integration. This is an advanced feature, only use it if you know what you're doing!

enable_filtering
boolean
default: false

Enable the (filtering feature)[https://docs.kombo.dev/other/filtering] for the integration. HRIS only.

Response

200 - application/json
status
enum<string>
required
Available options:
success
data
object
required