projects

Read or update projects in this organisation. Pass action "list", "fetch", or "update". Projects are created in the Garasu app, not here.

Operation ID: projects

Read or update projects in this organisation. Pass action "list", "fetch", or "update". Projects are created in the Garasu app, not here.

When to use: You need a project id, one project's details, or to rename a project or change its url.

Returns: list: { projects }. fetch and update: { project }.

FieldTypeRequiredDescription
actionstringYesOne of "list", "fetch", "update".
iduuidNoProject id. Required for fetch and update.
namestringNoNew name for update. 1–80 characters.
urlstringNoNew url for update, or an empty string to clear it. Max 255 characters.
descriptionstringNoNew description for update. Max 500 characters.

Function schema:

{
  "name": "projects",
  "description": "Read or update projects in this organisation. Pass action \"list\", \"fetch\", or \"update\". Projects are created in the Garasu app, not here. You need a project id, one project's details, or to rename a project or change its url.",
  "parameters": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "action": {
        "type": "string",
        "description": "One of \"list\", \"fetch\", \"update\"."
      },
      "id": {
        "type": "string",
        "format": "uuid",
        "description": "Project id. Required for fetch and update."
      },
      "name": {
        "type": "string",
        "description": "New name for update. 1–80 characters."
      },
      "url": {
        "type": "string",
        "description": "New url for update, or an empty string to clear it. Max 255 characters."
      },
      "description": {
        "type": "string",
        "description": "New description for update. Max 500 characters."
      }
    },
    "required": [
      "action"
    ]
  }
}
projects · list

List the organisation's projects, newest first.

When to use: You need a project id, or you want to see what already exists.

Returns: { projects: [{ id, title, description, domain, experiment_count, learning_count, last_synced_at, sync_status, created_at, updated_at, source_url }] }

Prompt: List my Garasu projects.

Request:

{
  "action": "list"
}

Response:

{
  "projects": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "title": "Acme Store",
      "description": "Checkout and pricing experiments.",
      "domain": "store.acme.com",
      "created_at": "2026-03-29T14:12:00.000Z",
      "updated_at": "2026-03-29T15:04:00.000Z",
      "last_synced_at": "2026-03-29T15:04:00.000Z",
      "sync_status": "idle",
      "experiment_count": 1,
      "learning_count": 2,
      "source_url": "https://garasu.co/app/77777777-7777-4777-8777-777777777777/projects/11111111-1111-4111-8111-111111111111"
    }
  ]
}
projects · fetch

Get one project by id, including counts and sync status.

When to use: You have a project id and need its details or counts.

Returns: { project: { id, title, description, domain, experiment_count, learning_count, last_synced_at, sync_status, created_at, updated_at, source_url } }

Prompt: Get the Garasu project with this id.

Request:

{
  "action": "fetch",
  "id": "11111111-1111-4111-8111-111111111111"
}

Response:

{
  "project": {
    "id": "11111111-1111-4111-8111-111111111111",
    "title": "Acme Store",
    "description": "Checkout and pricing experiments.",
    "domain": "store.acme.com",
    "created_at": "2026-03-29T14:12:00.000Z",
    "updated_at": "2026-03-29T15:04:00.000Z",
    "last_synced_at": "2026-03-29T15:04:00.000Z",
    "sync_status": "idle",
    "experiment_count": 1,
    "learning_count": 2,
    "source_url": "https://garasu.co/app/77777777-7777-4777-8777-777777777777/projects/11111111-1111-4111-8111-111111111111"
  }
}
projects · update

Update a project's name, url, or description. Omit fields you do not want to change. Pass an empty url to clear it.

When to use: The project exists and the user wants to rename it or change its url.

Returns: { project: { id, title, description, domain, experiment_count, learning_count, last_synced_at, sync_status, created_at, updated_at, source_url } }

Prompt: Rename the Acme project to Acme Store and set the url to store.acme.com.

Request:

{
  "action": "update",
  "id": "11111111-1111-4111-8111-111111111111",
  "name": "Acme Store",
  "url": "store.acme.com"
}

Response:

{
  "project": {
    "id": "11111111-1111-4111-8111-111111111111",
    "title": "Acme Store",
    "description": "Checkout and pricing experiments.",
    "domain": "store.acme.com",
    "created_at": "2026-03-29T14:12:00.000Z",
    "updated_at": "2026-03-29T15:04:00.000Z",
    "last_synced_at": "2026-03-29T15:04:00.000Z",
    "sync_status": "idle",
    "experiment_count": 1,
    "learning_count": 2,
    "source_url": "https://garasu.co/app/77777777-7777-4777-8777-777777777777/projects/11111111-1111-4111-8111-111111111111"
  }
}