# 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 workflow 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](/docs/developers/environments.md). 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](/docs/developers/building-with-apis/generating-api-credentials.md).

***

## 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](/docs/concepts/objects.md)                                                         | Tables in your data model                                        | Configured by you or your team; <code class="expression">space.vars.contact</code> <code class="expression">space.vars.object</code> is a special type for storing individual's information |
| [Records](/docs/concepts/objects/records.md)                                                 | Rows within an Object                                            | Represents a single entry of data within an <code class="expression">space.vars.object</code>                                                                                               |
| [Object Identifiers](/docs/concepts/objects/object-data-model.md#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](/docs/concepts/objects/object-configuration/object-permissions.md)             | 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](/docs/developers/authentication.md).

***

## Topics In This Section

* [Generate API Credentials](/docs/developers/building-with-apis/generating-api-credentials.md): 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](/docs/developers/building-with-apis/creating-your-first-api-call.md): Use those credentials to make a live, authenticated API request

***

## What's Next

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

<details>

<summary>Related Topics</summary>

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

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.kizen.com/docs/developers/building-with-apis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
