api

API Reference

Complete documentation for the Gola REST API. All endpoints require authentication unless noted.

dns https://api.gola.work/api/
POST /auth

Authenticate with email and password to receive a bearer token for subsequent requests.

Headers

Content-Type: application/json

Body

{
  "email": "user@example.com",
  "password": "your_password"
}
{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": "usr_xxx",
    "email": "user@example.com"
  }
}
curl -X POST https://api.gola.work/api/auth \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "your_password"
  }'
GET /me

Retrieve the authenticated user's profile information.

Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
  "id": "usr_xxx",
  "email": "user@example.com",
  "name": "John Doe",
  "created_at": "2025-01-01T00:00:00Z"
}
curl https://api.gola.work/api/me \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"
GET /teams

List all teams the authenticated user belongs to.

Authorization: Bearer {token}
Accept: application/json
[
  {
    "id": "team_xxx",
    "name": "My Team",
    "role": "owner"
  }
]
curl https://api.gola.work/api/teams \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/apps

List all applications belonging to a specific team.

Parameter Type Description
team string The team identifier.
Authorization: Bearer {token}
Accept: application/json
[
  {
    "id": "app_xxx",
    "name": "My App",
    "team_id": "team_xxx"
  }
]
curl https://api.gola.work/api/team/{team}/apps \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/app/{app}

Retrieve a specific application within a team.

Parameter Type Description
team string The team identifier.
app string The application identifier.
{
  "id": "app_xxx",
  "name": "My App",
  "team_id": "team_xxx",
  "created_at": "2025-01-01T00:00:00Z"
}
curl https://api.gola.work/api/team/{team}/app/{app} \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/app/{app}/model

List all models belonging to a specific application.

Parameter Type Description
team string The team identifier.
app string The application identifier.
[
  {
    "id": "model_xxx",
    "name": "UserModel",
    "app_id": "app_xxx"
  }
]
curl https://api.gola.work/api/team/{team}/app/{app}/model \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/app/{app}/model/{model}

Retrieve a specific model within an application.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.
{
  "id": "model_xxx",
  "name": "UserModel",
  "app_id": "app_xxx",
  "fields": [
    { "name": "name", "type": "string" },
    { "name": "data_2", "type": "number" },
    { "name": "data_3", "type": "number" }
  ]
}
curl https://api.gola.work/api/team/{team}/app/{app}/model/{model} \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/app/{app}/model/{model}/data

List all records within a specific model.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.
[
  {
    "id": "data_xxx",
    "name": "API_DATA",
    "data_2": 324,
    "data_3": 456
  }
]
curl https://api.gola.work/api/team/{team}/app/{app}/model/{model}/data \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
GET /team/{team}/app/{app}/model/{model}/data/{data}

Retrieve a specific record within a model.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.
data string The record identifier.
{
  "id": "data_xxx",
  "name": "API_DATA",
  "data_2": 324,
  "data_3": 456,
  "created_at": "2025-01-01T00:00:00Z"
}
curl https://api.gola.work/api/team/{team}/app/{app}/model/{model}/data/{data} \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"
POST /team/{team}/app/{app}/model/{model}/data

Create a new record within a specific model.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.

Headers

Authorization: Bearer {token}
Content-Type: application/json

Body

{
  "name": "API_DATA",
  "data_2": 324,
  "data_3": 456
}
{
  "id": "data_xxx",
  "name": "API_DATA",
  "data_2": 324,
  "data_3": 456
}
curl -X POST https://api.gola.work/api/team/{team}/app/{app}/model/{model}/data \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API_DATA",
    "data_2": 324,
    "data_3": 456
  }'
PUT /team/{team}/app/{app}/model/{model}/data/{data}

Update an existing record within a model.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.
data string The record identifier.
{
  "name": "updated@example.com",
  "4": [
    "01jjex8jetz4s7gbk27tzxq0s5"
  ]
}
{
  "id": "data_xxx",
  "name": "updated@example.com",
  "4": ["01jjex8jetz4s7gbk27tzxq0s5"]
}
curl -X PUT https://api.gola.work/api/team/{team}/app/{app}/model/{model}/data/{data} \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "updated@example.com",
    "4": ["01jjex8jetz4s7gbk27tzxq0s5"]
  }'
DELETE /team/{team}/app/{app}/model/{model}/data/{data}

Delete a specific record within a model.

Parameter Type Description
team string The team identifier.
app string The application identifier.
model string The model identifier.
data string The record identifier.
{
  "message": "Record deleted successfully"
}
curl -X DELETE https://api.gola.work/api/team/{team}/app/{app}/model/{model}/data/{data} \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"