Xkit

The xkit Developer Hub

Welcome to the xkit developer hub. You'll find comprehensive guides and documentation to help you start working with xkit as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Retrieving API Credentials

Getting 3rd party access credentials using Xkit

Once your users have created connections to 3rd party apps using Xkit, you can retrieve their credentials for those apps to access their APIs. To retrieve credentials, call the Get Connection API with a Platform API Key to retrieve a single context's (user or group's) connection to a 3rd party application.

All you need to know is the context's unique ID as provided to Xkit when creating and the slug of the connector which you configured in the Xkit Dashboard, usually a short string like slack.

A Node.js example is below:

import axios from 'axios'
const PUBLISHABLE_KEY = process.env.XKIT_PUBLISHABLE_KEY
const SECRET_KEY = process.env.XKIT_SECRET_KEY

async function getAccessToken(userId, connectorSlug) {
  const {
    connection,
    connector,
    authorization
  } = await axios({
    baseUrl: 'https://app.xkit.co/api/platform',
    url: `/contexts/${userId}/connections/${connectorSlug}`,
    auth: {
      username: PUBLISHABLE_KEY,
      password: SECRET_KEY
    }
  })
   
  if (!connection.enabled) {
    console.log(`User ${userId} has not enabled ${connectorSlug}`) 
  } else if (authorization.status !== "active") {
    console.log(`User ${userId} has authorization for ${connectorSlug} in a ${authorization.status} status`)
  } else {
    return authorization.access_credential
  }
}

// ...
const slackToken = await getAccessToken('some-user-id', 'slack')

Access Tokens Unavailable

If a user has not yet enabled the connection, the enabled parameter of the connection will be false.

If a user has enabled the connection, but no access token is available, the access_token parameter of the authorization will be empty, and the status parameter will be something other than active (most commonly error).

Refreshing Access Tokens

This endpoint will automatically refresh expired access tokens if the corresponding service supports it. If you receive an error message from the service that an access token is expired or invalid, call this endpoint again to receive a new access token or the updated status of the connection.

Updated 24 days ago

Retrieving API Credentials


Getting 3rd party access credentials using Xkit

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.