Skip to main content

API Documentation

LyncView REST API

Public REST API for reading project data and pushing updates programmatically. Available on the Business plan. All endpoints return JSON.

Authentication

All API requests require a Bearer token in the Authorization header. Generate keys from Settings → API Keys in your dashboard. Each key is shown only once at creation time.

Authorization: Bearer YOUR_API_KEY

API keys are scoped to a single workspace and have the same access level as the owner who created them. Treat them like passwords — never commit to source control, never expose in client-side code.

Base URL

https://www.lyncview.com/api/public

HTTPS is required. HTTP requests are rejected.

Endpoints

GET /projects

Returns active and on-hold projects in the authenticated workspace.

curl https://www.lyncview.com/api/public/projects \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

[
  {
    "id": "abc-123",
    "name": "Acme Co — Brand refresh",
    "address": "123 Example St",
    "town": "Springfield",
    "client_name": "Sarah Miller",
    "status": "active",
    "created_at": "2026-04-15T14:32:00Z",
    "updated_at": "2026-04-28T09:15:00Z"
  }
]

Coming soon

Additional endpoints in development:

  • GET /projects/:id — Single project with full details
  • GET /projects/:id/tasks — Tasks for a project
  • POST /tasks/:id/complete — Mark a task complete
  • POST /tasks/:id/comments — Add a comment
  • GET /clients — List clients
  • GET /time-entries — Time tracking data

Rate limits

60 requests per minute per API key. Exceeded requests return 429 Too Many Requests with a Retry-After header indicating seconds to wait.

Need higher limits? Email support@lyncview.com with your use case.

Errors

All errors return JSON with an error field:

{ "error": "Invalid API key" }

Status codes:

  • 400 Bad Request — Malformed request body or query
  • 401 Unauthorized — Missing or invalid API key
  • 403 Forbidden — Plan doesn't include API access
  • 404 Not Found — Resource doesn't exist or you can't see it
  • 429 Too Many Requests — Rate limit hit
  • 500 Internal Server Error — Our problem. Retry with exponential backoff.

Webhooks

Configure outbound webhooks from Settings → Webhooks. See Setting up outbound webhooks for the full guide. Brief version:

  • POST to your URL on subscribed events
  • HMAC-SHA256 signature in X-Webhook-Signature header
  • Retries: 3 attempts with exponential backoff
  • Timeout: 10 seconds

Available events

  • task.completed, task.created, task.updated
  • project.created, project.updated, project.completed
  • file.uploaded
  • client.invited
  • comment.created

Example payload

{
  "event": "task.completed",
  "data": {
    "task_id": "task-abc-123",
    "project_id": "project-xyz-789",
    "title": "Plan review approved",
    "completed_at": "2026-04-28T10:15:00Z"
  },
  "timestamp": "2026-04-28T10:15:01Z"
}

Need help?

If something in this doc is unclear, an endpoint isn't documented, or you need an integration we don't cover — email support@lyncview.com. We read every message and reply within 1 business day.