Skip to main content
The Team Workspace is where humans and AI agents collaborate on structured work inside Synq. You organize collaborators into Human-AI teams, each with its own operating cadence and approval rules. Within each team you create AI tasks — units of work the AI picks up, processes, and returns proposed outputs for. When a task requires approval, it pauses at the proposed stage so a human can review the result before it is finalized. This model lets you automate high-frequency, low-risk operations while keeping a human in the loop for anything that changes sensitive data.

Retrieve your workspace

Fetch all teams and tasks that belong to your tenant and organization in a single call.
GET /api/v1/team-workspace
Authorization: Bearer TOKEN
X-Tenant-ID: your-tenant-id
X-Org-ID: your-org-id
Response
{
  "teams": [
    {
      "id": "e3b0c442-98fc-1c14-9afb-f4c8996fb924",
      "name": "Inventory Ops",
      "description": "Handles restock recommendations and PO drafts",
      "status": "active",
      "cadence_minutes": 60,
      "approval_policy": { "required_role": "MANAGER" },
      "created_at": "2024-11-01T09:00:00Z",
      "updated_at": "2024-11-15T14:22:00Z"
    }
  ],
  "tasks": [
    {
      "id": "7d793037-a076-4e75-9b5b-7b8e17e4e2e5",
      "team_id": "e3b0c442-98fc-1c14-9afb-f4c8996fb924",
      "title": "Draft restock PO for SKU-9982",
      "status": "proposed",
      "priority": "HIGH",
      "input_context": { "sku": "SKU-9982", "current_stock": 4, "reorder_point": 20 },
      "proposed_output": { "po_quantity": 200, "supplier_id": "SUP-14" },
      "requires_approval": true,
      "due_at": "2024-11-20T17:00:00Z",
      "started_at": "2024-11-19T10:05:00Z",
      "completed_at": "",
      "created_at": "2024-11-19T09:00:00Z",
      "updated_at": "2024-11-19T10:05:00Z"
    }
  ]
}
teams
array
List of Human-AI teams scoped to your tenant and organization.
tasks
array
The 100 most recent AI tasks across all teams, ordered by creation date descending.

Create a Human-AI team

Teams are the containers for collaborative work. Only users with the Admin or Manager role can create them.
POST /api/v1/team-workspace/teams
Authorization: Bearer TOKEN
X-Tenant-ID: your-tenant-id
X-Org-ID: your-org-id
Content-Type: application/json
{
  "name": "Inventory Ops",
  "description": "Handles restock recommendations and PO drafts",
  "cadence_minutes": 60,
  "approval_policy": {
    "required_role": "MANAGER"
  }
}

Team request fields

name
string
required
A short, human-readable label for the team. Must be non-empty.
description
string
An optional longer explanation of what this team handles.
cadence_minutes
integer
How often (in minutes) the team’s AI agent runs its work cycle. Defaults to 30 if omitted or set to 0.
approval_policy
object
A JSON object that defines who must approve proposed outputs from tasks in this team. The structure is flexible — for example, { "required_role": "MANAGER" } requires a Manager-level user to sign off. Omit or pass {} for no policy enforcement at the team level.

Team response fields

id
string
UUID that uniquely identifies the team.
name
string
The team’s display name.
description
string
Optional description of the team’s purpose.
status
string
Lifecycle status of the team. Starts as active.
cadence_minutes
integer
How often the AI agent runs, in minutes.
approval_policy
object
The approval rules attached to the team.
created_at
string
ISO 8601 timestamp when the team was created.
updated_at
string
ISO 8601 timestamp of the last update.

Create an AI task

Tasks are units of work you assign to a team’s AI agent. Users with the Admin, Manager, or Editor role can create tasks.
POST /api/v1/team-workspace/tasks
Authorization: Bearer TOKEN
X-Tenant-ID: your-tenant-id
X-Org-ID: your-org-id
Content-Type: application/json
{
  "team_id": "e3b0c442-98fc-1c14-9afb-f4c8996fb924",
  "title": "Draft restock PO for SKU-9982",
  "priority": "HIGH",
  "input_context": {
    "sku": "SKU-9982",
    "current_stock": 4,
    "reorder_point": 20
  },
  "requires_approval": true,
  "due_at": "2024-11-20T17:00:00Z"
}

Task request fields

team_id
string
required
UUID of the team this task belongs to. Must reference a team within your tenant and organization.
title
string
required
A concise description of what the task involves. Must be non-empty.
priority
string
Task urgency level. Accepted values: LOW, NORMAL, HIGH, CRITICAL. Defaults to NORMAL.
input_context
object
A free-form JSON object that provides the AI agent with the data it needs to complete the task — for example, a SKU, a date range, or a customer ID. Defaults to {}.
requires_approval
boolean
When true, the task pauses at proposed status after the AI generates output, waiting for a human to approve or reject it before the result is applied.
due_at
string
Optional deadline for the task, in RFC 3339 format (e.g. 2024-11-20T17:00:00Z).

Task response fields

id
string
UUID that uniquely identifies the task.
team_id
string
UUID of the team the task belongs to.
title
string
The task description.
status
string
Current lifecycle status (see below).
priority
string
Task urgency: LOW, NORMAL, HIGH, or CRITICAL.
input_context
object
The data payload supplied when creating the task.
proposed_output
object
The AI-generated result, populated once the agent completes its work.
requires_approval
boolean
Whether human sign-off is required before the output is applied.
due_at
string
Optional deadline in RFC 3339 format.
started_at
string
Timestamp when the AI agent began processing, if started.
completed_at
string
Timestamp when the task reached a terminal state, if completed.
created_at
string
ISO 8601 timestamp when the task was created.
updated_at
string
ISO 8601 timestamp of the last update to the task.

Task lifecycle

Every task moves through a defined set of statuses from creation to completion.
1

pending

The task has been created and is waiting for the AI agent to pick it up during the team’s next cadence cycle.
2

in_progress

The AI agent has started working on the task. The started_at timestamp is set at this point.
3

proposed

The AI agent has finished and written its result to proposed_output. If requires_approval is true, the task waits here for a human reviewer to approve or reject the output before it takes effect.
4

completed

The task is done. If approval was required, it was granted. The completed_at timestamp is set.
A task with requires_approval: false skips the proposed stage and moves directly from in_progress to completed once the agent finishes.
Set requires_approval: true for any task whose output will modify existing records — such as placing purchase orders, adjusting inventory counts, or updating pricing. This gives your team a review checkpoint before changes are persisted and prevents unintended bulk updates.

Approval policy reference

The approval_policy field on a team is a flexible JSON object. You define the structure that matches your internal workflow. A common pattern is role-based approval:
{
  "required_role": "MANAGER",
  "notify_on_proposal": true,
  "auto_approve_after_hours": 24
}
KeyTypeDescription
required_rolestringMinimum role required to approve a proposed output (e.g. MANAGER, ADMIN).
notify_on_proposalbooleanWhether to send a notification when a task enters proposed status.
auto_approve_after_hoursintegerAutomatically approve the proposed output if no action is taken within this many hours.
These keys are illustrative — Synq stores the object as-is and your approval workflow layer enforces the policy.