Docs API Reference

Build anything with the 3Syxty API

A comprehensive REST API covering every resource and operation in the platform. Programmatically create tours, manage assets, trigger publishing, and integrate with your existing tools.

Base URL: https://api.3syxty.com/v1/

Authentication

All API requests require authentication via a Bearer token in the Authorization header. Three token types are supported:

API Keys

Scoped, rotatable keys with per-key permission sets. Ideal for server-to-server integrations. Created in Studio → Settings → API Tokens.

Personal Access Tokens

User-scoped tokens for CLI tools and scripting. Inherit the user's workspace permissions.

OAuth2 (Authorization Code)

Standard OAuth2 authorization code flow for third-party applications accessing user data on their behalf.

Example: Authenticating a request
curl https://api.3syxty.com/v1/projects \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Response Format

All responses are JSON with a consistent envelope structure. Successful responses include a data field. Paginated responses include a pagination object.

Success Response
{
  "success": true,
  "data": {
    "id": "proj_8kF2x9mN",
    "name": "Luxury Villa Tour",
    "scenes_count": 24,
    "status": "published"
  },
  "meta": {
    "request_id": "req_a1b2c3d4",
    "timestamp": "2026-03-03T20:00:00Z"
  }
}
Error Response
{
  "success": false,
  "message": "Tour not found.",
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "details": []
  },
  "meta": {
    "request_id": "req_e5f6g7h8"
  }
}
Paginated Response
{
  "success": true,
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "per_page": 25,
    "total": 142,
    "total_pages": 6
  }
}

Rate Limits

Rate limits are applied per API key. Limits are returned in response headers.

Plan Requests/minute Requests/day
Pro 60 10,000
Studio 120 100,000
Enterprise Custom Custom
Rate limit headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1709497260

Workspaces

Manage workspaces, members, and usage.

Method Endpoint
GET /v1/workspaces
GET /v1/workspaces/{id}
PUT /v1/workspaces/{id}
GET /v1/workspaces/{id}/members
POST /v1/workspaces/{id}/members
DELETE /v1/workspaces/{id}/members/{user_id}
GET /v1/workspaces/{id}/usage

Projects

Create, read, update, and delete virtual tour projects.

Method Endpoint
GET /v1/projects
POST /v1/projects
GET /v1/projects/{id}
PUT /v1/projects/{id}
DELETE /v1/projects/{id}
POST /v1/projects/{id}/duplicate
GET /v1/projects/{id}/versions
POST /v1/projects/{id}/versions/{vid}/restore
POST /v1/projects/{id}/export
GET /v1/projects/{id}/activity
Request
curl https://api.3syxty.com/v1/projects \
  -H "Authorization: Bearer sk_live_..." \
  -X POST \
  -d '{"name": "Beach Resort Tour", "description": "Virtual walkthrough of the resort"}'
Response
{
  "success": true,
  "data": {
    "id": "proj_nR4kW8vP",
    "name": "Beach Resort Tour",
    "description": "Virtual walkthrough of the resort",
    "scenes_count": 0,
    "status": "draft",
    "created_at": "2026-03-03T20:15:00Z"
  }
}

Scenes

Manage scenes (panoramas) within a project.

Method Endpoint
GET /v1/projects/{id}/scenes
POST /v1/projects/{id}/scenes
GET /v1/scenes/{id}
PUT /v1/scenes/{id}
DELETE /v1/scenes/{id}
PUT /v1/projects/{id}/scenes/reorder

Hotspots

Create and manage interactive hotspots within scenes.

Method Endpoint
GET /v1/scenes/{id}/hotspots
POST /v1/scenes/{id}/hotspots
GET /v1/hotspots/{id}
PUT /v1/hotspots/{id}
DELETE /v1/hotspots/{id}
POST /v1/scenes/{id}/hotspots/reorder

Assets

Upload and manage media assets (images, video, audio, 3D models).

Method Endpoint
GET /v1/projects/{id}/assets
POST /v1/projects/{id}/assets
GET /v1/assets/{id}
DELETE /v1/assets/{id}

Publishing

Publish, unpublish, and check the status of tour deployments.

Method Endpoint
POST /v1/projects/{id}/publish
GET /v1/projects/{id}/publish/status
POST /v1/projects/{id}/unpublish
GET /v1/projects/{id}/embed-codes

Analytics

Retrieve engagement analytics, heatmaps, and export data.

Method Endpoint
GET /v1/projects/{id}/analytics
GET /v1/projects/{id}/analytics/heatmaps
GET /v1/projects/{id}/analytics/export

AI Services

Access AI-powered tools: scene analysis, generative fill, virtual staging, narration, and more.

Method Endpoint
POST /v1/ai/analyze-scene/{scene_id}
POST /v1/ai/auto-connect/{project_id}
POST /v1/ai/narration/{scene_id}
POST /v1/ai/generative-fill
POST /v1/ai/virtual-stage/{scene_id}
POST /v1/ai/remove-tripod/{scene_id}
POST /v1/ai/dollhouse/{project_id}
POST /v1/ai/quality-check/{project_id}
POST /v1/ai/translate/{project_id}
POST /v1/ai/chat

Webhooks

Register webhook endpoints to receive real-time event notifications.

Method Endpoint
GET /v1/webhooks
POST /v1/webhooks
PUT /v1/webhooks/{id}
DELETE /v1/webhooks/{id}
GET /v1/webhooks/{id}/deliveries
POST /v1/webhooks/{id}/test

Leads

Manage lead submissions captured from tour contact forms.

Method Endpoint
GET /v1/leads
PUT /v1/leads/{id}
GET /v1/leads/export

Templates & Marketplace

Browse, create, and use tour templates from the marketplace.

Method Endpoint
GET /v1/templates
GET /v1/templates/{id}
POST /v1/templates
POST /v1/templates/{id}/use

Integrations

Connect third-party services: CRM, MLS, analytics, and more.

Method Endpoint
GET /v1/integrations
POST /v1/integrations
PUT /v1/integrations/{id}
DELETE /v1/integrations/{id}
POST /v1/integrations/{id}/test

Quizzes & E-Learning

Manage quizzes, questions, and learner progress.

Method Endpoint
GET /v1/projects/{id}/quizzes
POST /v1/projects/{id}/quizzes
PUT /v1/quizzes/{id}
DELETE /v1/quizzes/{id}
GET /v1/quizzes/{id}/questions
POST /v1/quizzes/{id}/questions
GET /v1/projects/{id}/leaderboard
GET /v1/projects/{id}/progress/{learner_id}
GET /v1/projects/{id}/scorm-export

Comments

Manage collaborative review comments on projects.

Method Endpoint
GET /v1/projects/{id}/comments
POST /v1/projects/{id}/comments
GET /v1/comments/{type}/{entity_id}
POST /v1/comments/{id}/resolve
DELETE /v1/comments/{id}

API Tokens

Manage API keys programmatically.

Method Endpoint
GET /v1/tokens
POST /v1/tokens
DELETE /v1/tokens/{id}

Error Codes

The API uses standard HTTP status codes. Error responses include a machine-readable code field for programmatic handling.

HTTP Status Error Code Description
400 VALIDATION_ERROR Request body or parameters failed validation
401 UNAUTHORIZED Missing or invalid authentication token
403 FORBIDDEN Authenticated but insufficient permissions
404 RESOURCE_NOT_FOUND The requested resource does not exist
409 CONFLICT Resource state conflict (e.g. duplicate name)
422 UNPROCESSABLE_ENTITY Request understood but cannot be processed
429 RATE_LIMIT_EXCEEDED Too many requests — slow down
500 INTERNAL_ERROR Unexpected server error — contact support

API Versioning

The API is versioned via the URL path (/v1/). We follow semantic versioning principles:

  • Additive changes (new fields, new endpoints) are non-breaking and do not require a version bump
  • Breaking changes (removed fields, changed behaviour) result in a new version (/v2/)
  • Deprecated versions receive at least 12 months of support after a successor is released