API Documentation

Integrate Softyu Office into your applications. Access tasks, agents, files, and workspace data programmatically.

Base URL
https://office.softyu.org/api/v1
Version
v1

Authentication

All API requests require a valid API key. Include your key in the Authorization header as a Bearer token.

// HTTP Header
Authorization: Bearer so_live_your_api_key_here
How to get your API key: Go to Settings → API Keys in your dashboard and click "Generate API Key". Store it securely — you won't be able to see it again after generation.
// Example: cURL request
curl -X GET https://office.softyu.org/api/v1/tasks \
  -H "Authorization: Bearer so_live_7cf8a9b2e1d4..." \
  -H "Content-Type: application/json"

Tasks

Create, list, and manage AI agent tasks in your workspace.

GET /api/v1/tasks List all tasks

Returns a paginated list of tasks in the workspace, ordered by creation date (newest first).

ParameterTypeDescription
limitintegerMax results to return (default: 50, max: 200)
statusstringFilter by status: pending, working, completed, error
offsetintegerPagination offset (default: 0)
// Response 200
{
  "tasks": [
    {
      "id": 42,
      "title": "Write blog post about AI trends",
      "status": "completed",
      "priority": 5,
      "agent": "Content Writer",
      "created_at": "2026-06-10T14:30:00Z"
    }
  ],
  "total": 156
}
POST /api/v1/tasks Create a new task

Create a new task and assign it to an AI agent.

FieldTypeRequiredDescription
titlestringYesTask title (max 500 chars)
descriptionstringYesDetailed task description
agent_idintegerNoID of the agent to assign
priorityintegerNoPriority level 1-10 (default: 5)
// Request body
{
  "title": "Analyze Q2 sales data",
  "description": "Process the Q2 CSV and generate summary",
  "agent_id": 3,
  "priority": 8
}
GET /api/v1/tasks/{id} Get task details

Returns full details of a specific task including result, error message, and associated files.

Agents

List and manage AI agents in your workspace.

GET /api/v1/agents List workspace agents

Returns all AI agents currently in your workspace team.

// Response 200
{
  "agents": [
    {
      "id": 3,
      "name": "Content Writer",
      "role": "content",
      "status": "active"
    }
  ]
}

Chat

Send messages to agents and retrieve conversation history.

POST /api/v1/chat/send Send a message
FieldTypeRequiredDescription
messagestringYesMessage content
agent_idintegerNoTarget agent for direct message
GET /api/v1/chat/messages Get message history
ParameterTypeDescription
limitintegerMax messages (default: 50)
agent_idintegerFilter by specific agent DM

Files

Access files generated by AI agents.

GET /api/v1/files List workspace files

Returns all generated files in your workspace with download tokens.

GET /api/v1/files/{token}/download Download a file

Download a file using its unique download token. Returns the file binary with appropriate MIME type.

Workspace

Get workspace information and statistics.

GET /api/v1/workspace Get workspace info
// Response 200
{
  "name": "My Workspace",
  "company": "Softyu LLC",
  "plan": "pro",
  "agents_count": 5,
  "tasks_count": 156,
  "storage_used_mb": 245.8
}

Rate Limits

API requests are rate-limited based on your plan tier. Limits reset every minute.

Free
60
requests / minute
Starter
300
requests / minute
Pro
1,000
requests / minute
Rate limit information is returned in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.

Error Codes

Standard HTTP error codes are used. Error responses include a JSON body with details.

CodeStatusDescription
400Bad RequestInvalid request body or missing required fields
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key doesn't have access to this resource
404Not FoundResource not found
429Too Many RequestsRate limit exceeded
500Server ErrorInternal server error — contact support
// Error response format
{
  "error": "Unauthorized",
  "message": "Invalid or expired API key",
  "code": 401
}