Search docs

Get Started

This guide will get you up and running with Apideck. To get started on our platform, you need to:

After completing these steps, you can make API calls to our Unified APIs 🎉

Step 1: Create an account

If you haven't already, head over to our Signup page and create an account. Choose an application name and a subdomain. Afterward, you will be redirected to the Apideck dashboard.

Step 2: Enable Unified APIs and connectors

Go to the Configuration page in the Apideck dashboard. Choose one or more Unified APIs to enable. You'll see a list of the available connectors for each Unified API. Choose a couple of connectors to enable. The Unified APIs and connectors you select become available to your users in Vault.

OAuth Apps

By default, all connectors use sandbox OAuth apps from Apideck. This makes it easy for you to get started and connect integrations right away.

Custom OAuth apps

However, once you're ready to ship your integrations with Apideck, you should publish your own OAuth apps for every connector. Apideck supports bringing your own OAuth client for supported services. You can do this directly from the Unified API settings in the Apideck by selecting the connector to configure. You will be prompted to enter the client ID and secret, both obtainable from the third-party service you want to bring an OAuth client for. This will make sure your users see your brand instead of Apideck when they connect integrations.

Step 3: Get your API key

Go to the API Keys page in the Apideck dashboard. Copy your application ID and API key. If your API key ever gets compromised, you can regenerate it on this page.

API keys overview
API keys overview

Step 4: Create a consumer

Vault lets your users (called consumer in Apideck) easily connect and configure integrations. You can create a consumer through a Vault session through the following endpoint https://developers.apideck.com/apis/vault/reference#tag/Sessions.

Most of the time, this is an ID of your internal data model that represents a user or account in your system. E.g., account:12345. If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID.

Use the API call below to create a session for a consumer. This will return a Vault URL that you forward to a consumer to connect integrations.

curl --request POST \
  --url 'https://unify.apideck.com/vault/sessions' \
  --header 'Authorization: Bearer {API_KEY}' \
  --header 'x-apideck-app-id: {APP_ID}' \
  --header 'x-apideck-consumer-id: {CONSUMER_ID}' \
  --data-raw '{
    "redirect_uri": "https://mysaas.com/dashboard",
    "consumer_metadata": {
        "account_name": "SpaceX",
        "user_name": "Elon Musk",
        "image": "https://www.spacex.com/elon.jpg"
    },
    "theme": {
        "vault_name": "Space X",
        "primary_color": "#286efa",
        "sidepanel_text_color": "#FFFFFF",
    }
  }'

Step 5: Authorize connections

To authorize connections, we'll use Apideck Vault. Vault lets your users connect their integration accounts. It stores the credentials securely and lets you make authorized API calls on your consumers` (users) behalf.

Apideck Vault diagram
Apideck Vault diagram

To get started, we'll use Vault as a dummy consumer. Head over to the Vault page in the Apideck dashboard and generate a test session (using test-consumer as a dummy consumer ID) or use the Vault URL generated in the last step. This will launch our Hosted Vault app.

Go to the Integrations page in Vault. Search for a connector that you enabled in the previous step, add the integration, and press Authorize. You will be redirected to the connector and asked to authorize Apideck. After you complete this flow, you will be redirected back to Hosted Vault, and the connector is now authorized.

Hosted Vault
Hosted Vault

Step 6: Listening for callable connections

How to know when a connection has been added by which consumer? We offer Webhook support so you can subscribe to events as soon a consumer configures a connection. You can find more information about Webhooks in the Vault documentation or configure webhooks in Apideck.

Webhook Management
Webhook Management

All that's left now is to make your first API call 🎉

First API call

You now have all the building blocks to make your first call to the Apideck API. Here's an example curl to the CRM API to get you started.

curl --request GET \
  --url 'https://unify.apideck.com/crm/companies' \
  --header 'Authorization: Bearer {API_KEY}' \
  --header 'x-apideck-app-id: {APP_ID}' \
  --header 'x-apideck-consumer-id: test-consumer' \
  --header 'x-apideck-service-id: {SERVICE_ID}'
  • {APP_ID} and {API_KEY} are the values you copied in step 3.
  • {SERVICE_ID} is the Connector ID you want to make a request to. This ID is the name of the connector in kebab-case (for example google-drive). Find the full list of connector IDs here.
  • test-consumer is the consumer ID that Hosted Vault uses for test sessions. The connector we authorized earlier is linked to this consumer. When you're using Apideck with real users, you should use a unique user identifier as consumer ID.

🚨 API calls with an API key to the Apideck APIs should always happen server-side to prevent token leakage.

SDKs

Our Node.js SDK is the easiest way to integrate our API into your codebase. Find out how to get started with it here. SDKs for other popular languages such as Python and Java are coming soon.

API Tools

The Apideck API Explorer is a great way to explore our APIs through a UI. We also offer integrations with Postman and Insomnia. Head over to one of our API references and use the Actions dropdown to use these tools.

The OpenAPI specifications for all of our APIs are open source.

GraphQL

All of our APIs are also available in GraphQL. Read up on our schema and make your first queries in the GraphQL playground.

Samples

Looking for inspiration? Take a look at our sample projects. All of our samples are completely open-source.