# Build with APIs

{% hint style="success" %}
**Audience:** Administrators and Developers

**Purpose:** Provides an overview of <code class="expression">space.vars.Kizen\_company\_name</code>'s APIs, including how it works, key concepts, and available authentication methods, to help administrators and developers understand what they need before building integrations.
{% endhint %}

## Overview

<code class="expression">space.vars.Kizen\_company\_name</code>'s APIs give you programmatic access to the data, <code class="expression">space.vars.objects</code>, and <code class="expression">space.vars.automation</code> engine that powers the <code class="expression">space.vars.Kizen\_company\_name</code> platform. Using our APIs, allows you to connect to external systems, sync data, trigger <code class="expression">space.vars.workflows</code>, and build custom integrations without touching the <code class="expression">space.vars.Kizen\_company\_name</code> UI.

### What You Can Do with Kizen's APIs

<code class="expression">space.vars.Kizen\_company\_name</code>'s APIs support a wide range of operations across the platform, including:

* Reading and writing <code class="expression">space.vars.entities</code> for any <code class="expression">space.vars.object</code> or <code class="expression">space.vars.contact</code>
* Retrieving <code class="expression">space.vars.object</code> schemas, field definitions, and pipeline configuration
* Triggering <code class="expression">space.vars.automations</code> programmatically
* Scheduling and managing <code class="expression">space.vars.activities</code>
* Checking user permissions at runtime
* Extending the platform through webhooks and plugins

### How the APIs Work

<code class="expression">space.vars.Kizen\_company\_name</code>'s APIs are REST APIs. All requests are made over HTTPS to a base URL. The URL you use depends on your <code class="expression">space.vars.Kizen\_company\_name</code> [environment](https://developer.kizen.com/docs/developers/environments). The following is an example:

```
https://app.go.kizen.com/api/
```

Requests and responses use JSON. Every API call must include three credentials passed as HTTP request headers — an **API Key**, a **Business ID**, and a **User ID**. Together, these three values tell the API who is making the request, which business account to scope it to, and whether that user has permission to access the requested data.

| Header          | Purpose                                                                                                                                           |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-API-KEY`     | Authenticates the request — acts as the password for the User ID                                                                                  |
| `X-BUSINESS-ID` | Scopes the request to the correct <code class="expression">space.vars.Kizen\_company\_name</code> business account                                |
| `X-USER-ID`     | Identifies the user, determining which <code class="expression">space.vars.entities</code> and features are accessible based on their permissions |

All three headers are required on every request. Generating these credentials is covered in [Generate API Credentials](https://developer.kizen.com/docs/developers/building-with-apis/generating-api-credentials).

***

## API Fundamentals

Before diving into API calls, a few core concepts are worth understanding.

Here's a table summarizing the API Fundamentals concepts:

| Concept                                                                                                              | Definition                                                       | Key Detail                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [Objects](https://developer.kizen.com/docs/concepts/objects)                                                         | Tables in your data model                                        | Configured by you or your team; Contact Object is a special type for storing individual's information                              |
| [Records](https://developer.kizen.com/docs/concepts/objects/records)                                                 | Rows within an Object                                            | Represents a single entry of data within an Object                                                                                 |
| [Object Identifiers](https://developer.kizen.com/docs/concepts/objects/object-data-model#how-objects-are-identified) | Unique ID (UUID) or API Name that identifies every Object        | API Names are preferred — easier to read, resilient to data model changes, and usable across businesses with different credentials |
| [Permissions](https://developer.kizen.com/docs/concepts/objects/object-configuration/object-permissions)             | Access rules that control what data a request can read or modify | Based on the User ID in request headers; a dedicated API user with a purpose-built permission group is strongly recommended        |

<code class="expression">space.vars.Kizen\_company\_name</code> supports two authentication methods:

* Token-based authentication is quick to set up, passing a static API Key, Business ID, and User ID as headers on every request.&#x20;
* OAuth 2.0 is the more secure option for production integrations, using an Authorization Code flow with PKCE (Proof Key for Code Exchange) and automatic token expiration.&#x20;

For more information see, [Authentication](https://developer.kizen.com/docs/developers/authentication).

***

## Topics In This Section

* [Generate API Credentials](https://developer.kizen.com/docs/developers/building-with-apis/generating-api-credentials): Create your API Key, Business ID, and User ID in the <code class="expression">space.vars.Kizen\_company\_name</code> UI
* [Create Your First API Call](https://developer.kizen.com/docs/developers/building-with-apis/creating-your-first-api-call): Use those credentials to make a live, authenticated API request

***

## What's Next

Start with [Generate API Credentials](https://developer.kizen.com/docs/developers/building-with-apis/generating-api-credentials) — once your credentials are ready, you have everything you need to make your first API call.

<details>

<summary>Related Topics</summary>

* [Environments](https://developer.kizen.com/docs/developers/environments)
* [Authentication](https://developer.kizen.com/docs/developers/authentication)
* [Generating API Credentials](https://developer.kizen.com/docs/developers/building-with-apis/generating-api-credentials)
* [Create Your First API Call](https://developer.kizen.com/docs/developers/building-with-apis/creating-your-first-api-call)

</details>
