Getting Started: Your First API Call

Edited

This step-by-step guide walks you through setting up your Apideck account and making your first Unified API call. You can complete this in under 10 minutes.


In this article

  • Step 1: Create your account

  • Step 2: Enable Unified APIs and connectors

  • Step 3: Get your API key

  • Step 4: Connect an integration with Vault

  • Step 5: Make your first API call


Step 1: Create your account

If you haven't already, sign up for Apideck. During signup, you'll choose an application name and subdomain. Once completed, you'll land in the Apideck dashboard.

Tip: You can create multiple applications or environments (e.g., development, staging, production) from a single account. For details on managing these, see How to manage an environment or application in the Account Management section.

Step 2: Enable Unified APIs and connectors

Go to the Configuration page in your dashboard.

  1. Choose one or more Unified APIs to enable (for example Accounting, CRM, HRIS, ATS, File Storage or E-commerce).

  2. Within each Unified API, enable the specific connectors your users will need (e.g., Salesforce, HubSpot, QuickBooks).

The Unified APIs and connectors you enable here will appear for your users in Vault.

Some connectors come with sandbox OAuth apps from Apideck by default, so you can test immediately. When you're ready for production, you'll need your own OAuth credentials - see Going to Production: A Checklist for details.

Step 3: Get your API key

Go to the API Keys page in your dashboard. You'll find two values you need for all API calls:

  • App ID - Your application identifier.

  • API Key - Your secret key for authenticating requests.

Copy both and store them securely. If your API key is ever compromised, you can regenerate it from this page. For more on API key management, see the Account Management section.

Important: API calls should always be made server-side to prevent exposing your API key.

Step 4: Connect an integration with Vault

Before you can call a Unified API, you need at least one authorized connection. The fastest way to test is with Hosted Vault:

  1. Go to the Vault page in your dashboard.

  2. Under Hosted Vault, click Launch Demo. This opens Vault for a test consumer.

  3. Find one of the connectors you enabled in Step 2 and click Add.

  4. Click Authorize and complete the provider's OAuth flow.

Once authorized, you'll be redirected back to Vault and the connection is live.

Note: Some connectors require additional settings before they can be used. Vault will show a "Needs configuration" badge, fill in the required settings and save. For a deeper understanding of how Vault works and the different ways to integrate it, see Understanding Vault and Authentication.

Step 5: Make your first API call

Here's an example curl request to the CRM Unified API that lists companies:

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}'

Replace the placeholders:

  • {APP_ID} and {API_KEY} - from Step 3.

  • {SERVICE_ID} - the connector ID in kebab-case (e.g., salesforce, hubspot, google-drive). See the full list at developers.apideck.com/connectors. Always send it. Without it, if the consumer has more than one connection for that Unified API, Apideck uses one of them and returns its data with no error.

  • test-consumer - the default consumer ID used by Hosted Vault's demo mode.

Once everything is set up correctly, you'll get a JSON response with normalized data from the provider. In case you receive errors or unexpected behavior, check the request logs in your dashboard, see How to see the log of a request for guidance.

For a detailed explanation of what each header does and common mistakes, see Understanding API Headers, Consumers, and Service IDs.

Choosing a consumer ID

A consumer is one of your customers. You choose the consumer ID yourself: use a stable ID from your own system, such as your account or company ID (for example acme-corp-123). Apideck creates the consumer the first time you use the ID. test-consumer is fine for trying things out, but use your own IDs for real customers.

  • One customer company = one consumer ID. Reuse the same ID for all of that customer's connections.

  • Don't generate a new ID per login or session. Every new ID is a new consumer, which splits the customer's connections and can increase your number of active consumers.

If it doesn't work

What you see

What to check

401 from Apideck

The API key and App ID belong to the same application, and the API key is sent as Bearer.

Connection not found, or the wrong account's data

The consumer ID is exactly the one you connected with, and x-apideck-service-id names the right connector.

An error from the provider

Open Logs in the dashboard to see the provider's response. See Is it Apideck or the provider?

A 404 or 501 for a resource that should exist

The connector may not support that resource or operation. See Understanding Connector Coverage and Limitations.

How data reaches your app

Apideck doesn't copy data into your own database or API. It gives your app one API to call and sends you webhooks, and your code decides what to store:

  • Pull: call the Unified API whenever you need data, for example a scheduled sync with filter[updated_since] to fetch only what changed.

  • Push: subscribe to webhooks to hear when records are created or updated, then fetch and store them.

Your app still maps Apideck's unified fields to your own data model, once, instead of once per provider.

What's next?

Now that you've made your first call, here are the next steps:


Related resources:

Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.