Data API endpoints
13 endpoints at https://api.vaif.studio, generated from the API's OpenAPI document. The REST API page covers authentication, and All endpoints lists every group.
GET /v1/project
Response 200 (application/json)
{
project: string;
environment: string;
status: string;
endpoints: {
data: string;
functions: string;
storage: string;
graphql: string;
};
}GET /v1/health
Response 200 (application/json)
{
status: string;
project: string;
environment: string;
timestamp: string;
}GET /v1/data/{projectId}/{table}
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
where | query | string | No |
filter | query | {
[key: string]: string;
} | No |
whereField | query | string | No |
whereValue | query | string | No |
limit | query | number | No |
offset | query | number | No |
select | query | string | No |
orderBy | query | string | No |
orderDir | query | string | No |
order_by | query | string | No |
order_dir | query | string | No |
include | query | string | No |
filter[or] | query | {
[key: string]: string;
} | No |
Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
}Errors: 400, 401, 403, 429, 500, with the error body.
POST /v1/data/{projectId}/{table}
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
Request body (application/json, required)
{ [key: string]: any }Response 200 (application/json)
{
data: { [key: string]: any };
} | {
data: { [key: string]: any };
action: string;
}Errors: 400, 401, 403, 429, 500, with the error body.
GET /v1/data/{projectId}/{table}/search
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
q | query | string | Yes |
fields | query | string | No |
limit | query | number | No |
offset | query | number | No |
Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
}Errors: 400, 401, 403, 429, 500, with the error body.
GET /v1/data/{projectId}/{table}/aggregate
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
fn | query | "count" | "sum" | "avg" | "min" | "max" | Yes |
column | query | string | No |
group_by | query | string | No |
where | query | string | No |
filter | query | {
[key: string]: string;
} | No |
whereField | query | string | No |
whereValue | query | string | No |
Response 200 (application/json)
{
data: { [key: string]: any }[];
}Errors: 400, 401, 403, 429, 500, with the error body.
POST /v1/data/{projectId}/{table}/query
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
Request body (application/json, required)
{
filter?: {
and?: {
field: string;
op: string;
value: any;
}[];
or?: {
field: string;
op: string;
value: any;
}[];
};
select?: string[];
orderBy?: {
column: string;
direction?: string;
}[];
limit?: number;
offset?: number;
}Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
}Errors: 400, 401, 403, 429, 500, with the error body.
GET /v1/data/{projectId}/{table}/{id}
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
id | path | string | Yes |
Response 200 (application/json)
{
data: { [key: string]: any };
}Errors: 400, 401, 403, 429, 500, with the error body.
PATCH /v1/data/{projectId}/{table}/{id}
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
id | path | string | Yes |
Request body (application/json, required)
{ [key: string]: any }Response 200 (application/json)
{
data: { [key: string]: any };
}Errors: 400, 401, 403, 429, 500, with the error body.
DELETE /v1/data/{projectId}/{table}/{id}
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
id | path | string | Yes |
Response 200 (application/json)
{
data: {
id: string;
};
deleted: boolean;
}Errors: 400, 401, 403, 429, 500, with the error body.
POST /v1/data/{projectId}/{table}/bulk
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
Request body (application/json, required)
{ [key: string]: any }[]Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
}Errors: 400, 401, 403, 429, 500, with the error body.
PATCH /v1/data/{projectId}/{table}/bulk
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
Request body (application/json, required)
{
data: { [key: string]: any };
filter?: { [key: string]: any };
}Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
}Errors: 400, 401, 403, 429, 500, with the error body.
DELETE /v1/data/{projectId}/{table}/bulk
Dynamic table columns are preserved. List pagination uses offset; cursor is not implemented. API key and optional end-user Bearer token may be sent together to apply owner rules.
Authentication: a project API key or a bearer token (API keys).
| Parameter | In | Type | Required |
|---|---|---|---|
projectId | path | string | Yes |
table | path | string | Yes |
where | query | string | No |
filter | query | {
[key: string]: string;
} | No |
whereField | query | string | No |
whereValue | query | string | No |
ids | query | string | No |
Response 200 (application/json)
{
data: { [key: string]: any }[];
count: number;
} | {
deleted: number;
ids: any[];
}Errors: 400, 401, 403, 429, 500, with the error body.