Busabase
OpenAPI 参考

Forms

Form nodes that submit into a Base for review — a form submission always waits for a human, whoever submitted it.

GET
/api/v1/forms

Query Parameters

targetBaseId*string

The Base the forms WRITE INTO — required; this is not a space-wide listing.

Length1 <= length
limit?integer

Forms per page. Capped at 100; ask for the next page with cursor.

Range1 <= value <= 100
Default50
cursor?string

Opaque page cursor: pass back the nextCursor from the previous response. Do not construct or parse it.

Response Body

application/json

curl -X GET "https://example.com/api/v1/forms?targetBaseId=string"
{  "forms": [    {      "id": "string",      "nodeId": "string",      "spaceId": "string",      "targetBaseId": "string",      "name": "string",      "description": "string",      "bindings": [        {          "inputName": "string",          "fieldSlug": "string",          "required": true,          "label": "string",          "help": "string"        }      ],      "boundFields": [],      "page": {        "code": "string",        "theme": {          "logoUrl": "string",          "coverUrl": "string",          "brandColor": "string",          "hideBranding": true        }      },      "share": {        "isPublic": false,        "anonymousSubmit": false,        "submitLimit": -9007199254740991,        "requireCaptcha": true      },      "submissionCount": 0,      "status": "active",      "createdBy": "string",      "createdAt": "string",      "updatedAt": "string"    }  ],  "nextCursor": "string"}
POST
/api/v1/forms

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/forms" \  -H "Content-Type: application/json" \  -d '{    "nodeId": "string",    "targetBaseId": "string",    "name": "string"  }'
{  "id": "string",  "nodeId": "string",  "spaceId": "string",  "targetBaseId": "string",  "name": "string",  "description": "string",  "bindings": [    {      "inputName": "string",      "fieldSlug": "string",      "required": true,      "label": "string",      "help": "string"    }  ],  "boundFields": [],  "page": {    "code": "string",    "theme": {      "logoUrl": "string",      "coverUrl": "string",      "brandColor": "string",      "hideBranding": true    }  },  "share": {    "isPublic": false,    "anonymousSubmit": false,    "submitLimit": -9007199254740991,    "requireCaptcha": true  },  "submissionCount": 0,  "status": "active",  "createdBy": "string",  "createdAt": "string",  "updatedAt": "string"}
GET
/api/v1/forms/{nodeId}

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/forms/string"
{  "id": "string",  "nodeId": "string",  "spaceId": "string",  "targetBaseId": "string",  "name": "string",  "description": "string",  "bindings": [    {      "inputName": "string",      "fieldSlug": "string",      "required": true,      "label": "string",      "help": "string"    }  ],  "boundFields": [],  "page": {    "code": "string",    "theme": {      "logoUrl": "string",      "coverUrl": "string",      "brandColor": "string",      "hideBranding": true    }  },  "share": {    "isPublic": false,    "anonymousSubmit": false,    "submitLimit": -9007199254740991,    "requireCaptcha": true  },  "submissionCount": 0,  "status": "active",  "createdBy": "string",  "createdAt": "string",  "updatedAt": "string"}
PUT
/api/v1/forms/{nodeId}

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/forms/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "nodeId": "string",  "spaceId": "string",  "targetBaseId": "string",  "name": "string",  "description": "string",  "bindings": [    {      "inputName": "string",      "fieldSlug": "string",      "required": true,      "label": "string",      "help": "string"    }  ],  "boundFields": [],  "page": {    "code": "string",    "theme": {      "logoUrl": "string",      "coverUrl": "string",      "brandColor": "string",      "hideBranding": true    }  },  "share": {    "isPublic": false,    "anonymousSubmit": false,    "submitLimit": -9007199254740991,    "requireCaptcha": true  },  "submissionCount": 0,  "status": "active",  "createdBy": "string",  "createdAt": "string",  "updatedAt": "string"}
POST
/api/v1/forms/{nodeId}/submit

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/forms/string/submit" \  -H "Content-Type: application/json" \  -d '{    "values": {      "property1": null,      "property2": null    }  }'
{  "changeRequestId": "string",  "status": "pending_review",  "recordId": "string"}