模板幫助價格博客社區
聯繫我們
登入
產品
登錄 & 註冊
模板中心
集成
API 文檔
支持
幫助中心
入門教程
產品路線圖
品牌資料
隱私政策
用戶條款
聯絡方式
社區
聯絡銷售
公司
聯盟計劃
關於
AItool-PRO
© 2025 Copyright Bika.ai
twitterLinkedInmedium

title: Bika.ai OpenAPI Quick Start Guide | API & SDK Examples slug: help/en/guide/developer/openapi description: Learn to use Bika.ai OpenAPI & SDK with practical cURL, Python, and TypeScript/JavaScript examples. Manage spaces, databases, records, and automation efficiently. sidebar_position: 10 sidebar_label: Quick Start

OpenAPI Quick Start

Welcome to the Bika.ai OpenAPI Quick Start Guide!

This document provides a series of examples to help you get started with the Bika.ai API and SDK. Each section contains code snippets for common operations, including fetching data, creating records, updating records, deleting records, and using automation.

API Reference Document

Click to go 👉 Bika.ai API Reference

Basic Concepts

Before using this Open API, we need to first understand the structure and object hierarchy of Bika.ai.

  • Space
    • Node Resources:
      • Database
      • Automation
      • Dashboard
      • Document
      • AI Chatbot
      • ……

The Space is your workspace. It encompasses all the node resources we've previously mentioned, including databases, automation facilities, dashboards, and additional components. When leveraging the Open API, data retrieval must be carried out in accordance with this structure.

For instance, if you aim to obtain the database C represented by node B within Space A, the API would be similar to spaceA.nodeB->resoure->databaseB.

Note that the node ID is equivalent to the resource ID; for instance, Node ID and Database ID are the same.

For a URL like:

https://bika.ai/space/spcND68gdMMZBmGK67gvqNVX/node/datJubyEnetNFd3UQ6gSeq7U/viwYHuzUxRngq5igMkw9PPIX

SpaceId: spcND68gdMMZBmGK67gvqNVX

NodeID = DatabaseID: datJubyEnetNFd3UQ6gSeq7U

The associated TypeScript SDK is designed in an object-oriented style, which greatly simplifies your code.

Also, the space UI follows the above data structure layer.

For details, please read the homepage of the help document at https://bika.ai/help to view the overall UI introduction of the Space.

cURL

OpenAPI is composed of the HTTP protocol, and below are examples of how to call Bika.ai's OpenAPI using the cURL command line tool.

Please checkout the Bika.ai API Reference for more API details.

You can access these OpenAPI endpoints using any HTTP client that supports them, such as cURL, Python Requests, Node.js axios, Rust reqwest, and others.

System

Retrieving System Meta Info

curl -X GET "https://bika.ai/api/openapi/bika/v1/system/meta" -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}"

Response Example:

{
    "success": true,
    "code": 200,
    "message": "SUCCESS",
    "data": {
        "version": "1.0.0-release.0",
        "appEnv": "PRODUCTION",
        "hostname": "https://bika.ai",
        "headers": {
            "X-Forwarded-For": "35.96.5.64",
            "User-Agent": "curl/8.4.0"
        }
    }
}

Retrieving Space List

curl -X GET "https://bika.ai/api/openapi/bika/v1/spaces" -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}"

Database

Get Records

Gets a list of records from the specified database. Assuming we know that the ID of the space is {SPACE_ID},and the ID of the database is {NODE_ID}, here's an example of a cURL call:

curl -X GET 'https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/resources/databases/{NODE_ID}/records' \
-H "Authorization: Bearer {YOUR_ACCESS_TOKEN}"

Creating a New Record

Assume we have obtained the ID of a certain space as {SPACE_ID}, node ID as {NODE_ID}, and database ID always equals to node ID. Here is an example of creating a new record:

curl -X POST "https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/resources/databases/{NODE_ID}/records" \
    -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
        "cells": {
            "Name": "New record",
            "Description": "This is a new database record"
        }
    }'

Updating a Record

Assume the record ID is {RECORD_ID}. The example of updating a record is as follows:

curl -X PATCH "https://bika.ai/api/openapi/bika/v1/spaces/spcpPuRJJC4CZOwzB9Vlwmja/resources/databases/datkW11Rxx6hFJO924ECNxLk/records" \
    -H "Authorization: Bearer bkteM550dHdXyTKN4Wkp59pYX8JD5cDU7rB" \
    -H "Content-Type: application/json" \
    -d '{
        "id": "recpx8ZUBHmRFuD0fGTObHxL",
        "cells": {
            "Task": "Updated description field column"
        }
    }'

Deleting a Record

curl -X DELETE "https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/resources/databases/{NODE_ID}/records/{RECORD_ID}" \
    -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}"

Others

Upload attachments

Note: This interface needs to be used in conjunction with the "Create Record" or "Update Record" interface. After the attachment is uploaded, a return value (located in the data attribute of the response body) will be obtained. Use this value as the value of the field where the attachment is to be inserted in the record, and write it into the database together through the "Create Record" or "Update Record" interface.

curl -X POST "https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/attachments" \
-H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
-F 'file=@./example.png'

Listing Automation Triggers

Assume the node ID is {NODE_ID}. The example is as follows:

curl -X GET "https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/resources/automation/{NODE_ID}/triggers" \
    -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}"

Registering an Outbound Webhook

curl -X POST "https://bika.ai/api/openapi/bika/v1/spaces/{SPACE_ID}/outgoing-webhooks" \
    -H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
        "eventType": "ON_RECORD_CREATED",
        "name": "Create webhook",
        "description": "Example trigger when a new record is created",
        "callbackURL": "https://your - custom - callback - url.com"
    }'

Python HTTP Client

Installing Dependencies

First, ensure that the requests library is installed. You can use the following command to install it:

pip install requests

System

Retrieving System Metadata

import requests

access_token = "{YOUR_ACCESS_TOKEN}"
url = "https://bika.ai/api/openapi/bika/v1/system/meta"
headers = {
    "Authorization": f"Bearer {access_token}"
}
response = requests.get(url, headers = headers)
print(response.json())

Retrieving Space List

import requests

access_token = "{YOUR_ACCESS_TOKEN}"
url = "https://bika.ai/api/openapi/bika/v1/spaces"
headers = {
    "Authorization": f"Bearer {access_token}"
}
response = requests.get(url, headers = headers)
spaces = response.json()["data"]
print(spaces)

Database

Retrieving Database Records

import requests
import json

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
node_id = "{NODE_ID}"
database_id = "{DATABASE_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/resources/databases/{node_id}/records"
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}
data = {
    "fields": {
        "Name": "New record",
        "Description": "This is a new database record"
    }
}
response = requests.post(url, headers = headers, data = json.dumps(data))
print(response.json())

Creating a New Record

import requests
import json

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
node_id = "{NODE_ID}"
database_id = "{DATABASE_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/resources/databases/{node_id}/records"
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}
data = {
    "cells": {
        "Name": "New record",
        "Description": "This is a new database record"
    }
}
response = requests.post(url, headers = headers, data = json.dumps(data))
print(response.json())

Updating a Record

import requests
import json

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
node_id = "{NODE_ID}"
database_id = "{DATABASE_ID}"
record_id = "{RECORD_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/resources/databases/{node_id}/records"
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}
data = {
    "id": "recpx8ZUBHmRFuD0fGTObHxL",
    "cells": {
        "Task": "Updated description field column"
    }
}
response = requests.patch(url, headers = headers, data = json.dumps(data))
print(response.json())

Deleting a Record

import requests

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
node_id = "{NODE_ID_DATABASE_ID}"
record_id = "{RECORD_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/resources/databases/{node_id}/records/{record_id}"
headers = {
    "Authorization": f"Bearer {access_token}"
}
response = requests.delete(url, headers = headers)
print(response.json())

Others

Listing Automation Triggers

import requests

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
node_id = "{NODE_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/nodes/{node_id}/automation/triggers"
headers = {
    "Authorization": f"Bearer {access_token}"
}
response = requests.get(url, headers = headers)
triggers = response.json()["data"]
print(triggers)

Registering an Outbound Webhook

import requests
import json

access_token = "{YOUR_ACCESS_TOKEN}"
space_id = "{SPACE_ID}"
url = f"https://bika.ai/api/openapi/bika/v1/spaces/{space_id}/outgoing-webhooks"
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}
data = {
    "eventType": "ON_RECORD_CREATED",
    "name": "Create webhook",
    "description": "Example trigger when a new record is created",
    "callbackURL": "https://your - custom - callback - url.com"
}
response = requests.post(url, headers = headers, data = json.dumps(data))
print(response.json())

Through the above cURL and Python examples, developers can more conveniently use the Bika.ai OpenAPI to perform various operations. For more detailed information, please refer to the Bika.ai API documentation.

TypeScript / JavaScript SDK

Bika.ai offers an official TypeScript/JavaScript SDK for convenient object-oriented programming when using Bika.ai's OpenAPI.

Prerequisites

  1. Node.js installed on your machine.
  2. Bika.ai API Token: Sign up on Bika.ai and get your API token from your user settings.

Installation

First, install the Bika.ai SDK using npm:

npm install bika.ai
# or
yarn add bika.ai
pnpm add bika.ai

Example 1: Fetch Database Records

This example demonstrates how to fetch spaces, nodes, and records.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function fetchRecords() {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const nodes = await space.nodes.list();
        const node = nodes.find((node) => node.resourceType === 'DATABASE');
        const database = await node?.asDatabase();
        const records = await database?.records.list();
        console.log('Records:', records);
    } catch (error) {
        console.error('Error fetching data:', error);
    }
}

fetchRecords();

Example 2: Create a New Record

Use this example to create a new record in your database.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function createRecord() {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const nodes = await space.nodes.list();
        const node = nodes.find((node) => node.resourceType === 'DATABASE');
        const database = await node?.asDatabase();
        const newRecord = await database?.records.create({
            cells: {
                Name: 'New record',
            },
        });

        console.log('New Record Created:', newRecord);
    } catch (error) {
        console.error('Error creating record:', error);
    }
}
createRecord();

Example 3: Update a Record

This example updates an existing record.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function updateRecord(recordId: string) {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const nodes = await space.nodes.list();
        const node = nodes.find((node) => node.resourceType === 'DATABASE');
        const database = await node?.asDatabase();
        const updatedRecord = await database?.records.update({
            id: recordId,
            cells: {
                Name: 'Updated Record',
            },
        });

        console.log('Database:', database);
        console.log('Record Updated:', updatedRecord);
    } catch (error) {
        console.error('Error updating record:', error);
    }
}

updateRecord('__REPLACE_WITH_RECORD_ID__');

Example 4: Delete a Record

Use this example to delete a specific record.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function deleteRecord(recordId: string) {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const nodes = await space.nodes.list();
        const node = nodes.find((node) => node.resourceType === 'DATABASE');
        const database = await node?.asDatabase();
        await database?.records.delete(recordId);

        console.log('Database:', database);
        console.log('Record Deleted:', recordId);
    } catch (error) {
        console.error('Error deleting record:', error);
    }
}

deleteRecord('__REPLACE_WITH_RECORD_ID__');

Example 5: List Automation Triggers

This example shows how to list automation triggers.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function listTriggers() {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const nodes = await space.nodes.list();
        const node = nodes.find((node) => node.resourceType === 'AUTOMATION');
        const automation = await node?.asAutomation();
        const triggers = await automation?.triggers.list();
        
        console.log('Triggers:', triggers);
    } catch (error) {
        console.error('Error listing triggers:', error);
    }
}
listTriggers();

Example 6: Register an Outgoing Webhook

This example demonstrates how to register an outgoing webhook.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function registerWebhook() {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const outgoingWebhook = await space.outgoingWebhooks.register({
            eventType: 'ON_RECORD_CREATED',
            name: 'Create webhook',
            description: 'Exampple trigger when a new record cretaed',
            callbackURL: 'https://your-custom-callback-url.com',
        });

        console.log('Webhook Registered:', outgoingWebhook);
    } catch (error) {
        console.error('Error registering webhook:', error);
    }
}
registerWebhook();

Example 7: Embeded Bika.ai's UI(Coming soon)

Here are examples of embedding Bika.ai's UI into your own application.

If you want to incorporate Bika.ai's robust UI for databases, documents, and more, you can utilize the embed link API.

Generate an embed link to obtain a URL, and then use an <iframe> in your application.

import { Bika } from 'bika.ai';

const bika = new Bika({
    apiKey: '__PASTE_YOUR_API_TOKEN_FROM_USER_SETTING__',
    baseURL: 'https://bika.ai/api/openapi/bika',
});

async function createEmbedLink(resourceId: string) {
    try {
        const spaces = await bika.space.list();
        const space = spaces[0];
        const embedLink = await space.embedLinks.create({
            objectType: 'NODE_RESOURCE',
            objectId: resourceId,
          });

        console.log('Embed Link:', embedLink);
    } catch (error) {
        console.error('Error creating embed link:', error);
    }
}
createEmbedLink('__NODE_RESOURCE_ID_YOU_WANT_TO_EMBED__');

// else
const embedLinks = await space.embedLink.list();
const deleteEmbedLink = await space.embedLink.delete({id: [embedLink.id](https://embedlink.id/)});

After creating an embedded Bika.ai UI, you can use the <iframe> tag to display it on your web page. Here's a simple example of how to do this:

<iframe src="YOUR_EMBEDDED_UI_URL" width="800" height="600"></iframe>

Replace YOUR_EMBEDDED_UI_URL with the actual URL of the embedded Bika.ai UI you created. You can adjust the width and height attributes according to your layout needs.

Conclusion

This Quick Start Guide provides basic examples to help you interact with the Bika.ai OpenAPI and SDK effectively. You can modify and expand these examples as needed for your specific use cases. For more detailed information, refer to the Bika.ai API Documentation.

Happy coding!

call to action

推薦閱讀

  • Best AI Agents for SEO in 2025: Tools That Actually Work
  • How to Build an AI Sales Agent: Step-by-Step Guide
  • What Are Dynamic AI Agents and Why They Matter for Your Business
  • What’s the difference between an AI Agent and an LLM?
  • Best AI Agent Builder Platforms in 2025 (No-Code to Pro)
推薦AI自動化模板
Project tracker
Project tracker
Stay on top of every project with the Project Tracker Template — your all-in-one tool for progress tracking, project monitoring, and task assignment. Gain a clear project overview, update progress in real time, and enhance team coordination with automated workflows and a visual progress dashboard. Improve project efficiency, ensure timely updates, and streamline collaboration across your entire team with this intuitive project management system.
Product Feedback Analysis
Product Feedback Analysis
Enhance your customer experience with the Product Feedback Analysis template. This powerful dashboard helps you manage and analyze customer reviews, track sentiment trends, and generate detailed feedback reports. Use the built-in feedback tracker and sentiment analysis dashboard to identify issues, measure product performance, and drive continuous product improvement through actionable insights. Perfect for teams focused on feedback management and review analysis.
Investor deal flow
Investor deal flow
Streamline your investment tracking with Bika.ai’s Investor Deal Flow template. Manage prospective deals, company contacts, and transaction details efficiently through a centralized dashboard. Track deal pipelines, monitor deal progress, and analyze deal analytics to improve management efficiency and ensure timely decision-making. Ideal for sales teams, investment firms, entrepreneurs, and business development teams seeking a complete deal management solution.
風險評估與應對
風險評估與應對
此模板旨在協助企業領導團隊記錄各部門內已知的風險(例如商品價格波動或IT預算超支),並制定相應的緩解和應急計劃
Project Management
Project Management
Streamline your projects with our Project Management Template. Manage task assignment, project collaboration, project monitoring, and project organization all in one place. Visual dashboards provide project insights and an overview of progress, ensuring team alignment and efficient project work management. Perfect for teams looking to consolidate tasks, track progress, and enhance collaborative workflows.
Automated Birthday Email Celebration
Automated Birthday Email Celebration
Automate birthday email automation with the Automated Birthday Email Celebration template. Send personalized, automated birthday emails using a flexible birthday email template and automated email template that work with your customer data integration. Use this email scheduling tool to set automated email reminders and schedule birthday marketing emails at the perfect time. Boost customer retention emails and loyalty with B2B email automation and an email personalization tool that delivers timely, relevant birthday email campaigns without manual work.
title: Bika.ai OpenAPI Quick Start Guide | API & SDK Examples slug: help/en/guide/developer/openapi description: Learn to use Bika.ai OpenAPI & SDK with practical cURL, Python, and TypeScript/JavaScript examples. Manage spaces, databases, records, and automation efficiently. sidebar_position: 10 sidebar_label: Quick Start
OpenAPI Quick Start
API Reference Document
Basic Concepts
cURL
System
Database
Others
Python HTTP Client
Installing Dependencies
System
Database
Others
TypeScript / JavaScript SDK
Prerequisites
Installation
Example 1: Fetch Database Records
Example 2: Create a New Record
Example 3: Update a Record
Example 4: Delete a Record
Example 5: List Automation Triggers
Example 6: Register an Outgoing Webhook
Example 7: Embeded Bika.ai's UI(Coming soon)
Conclusion