🔐 Re:kon API
Home Pricing Sign in Get API key

Re:kon REST API

A clean, predictable REST API for every register in Re:kon. Pull projects, drawings, RFIs, MORs, change control records, materials and the mailbox. Push updates back. Build your own dashboards, sync with other systems, or wire up automation.

Base URL: https://www.rekon.uk/api
Format: JSON in, JSON out. UTF-8.
Status: v1 — stable, additive changes only.

Introduction

Every Re:kon register is exposed as a REST resource. The same endpoints the web app uses are available to your integration code, scoped to whatever projects your API key has access to. All responses are JSON and all timestamps are ISO 8601 in UTC.

Authentication

Authenticate every request with a Bearer token in the Authorization header.

curl https://www.rekon.uk/api/projects \
  -H "Authorization: Bearer rkn_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Or use the X-API-Key header if your client doesn't support custom Authorization headers.

Treat keys like passwords. They grant access to every project linked to your account. Rotate them regularly and revoke any that leak.

Generating an API key

Sign in to your Re:kon account, open Settings → API Keys, click + New key, give it a name, and copy the key. The full key is shown once only; after that, only the prefix is stored. If you lose it, revoke and create a new one.

Errors & rate limits

StatusMeaning
200OK
400Bad request — check the JSON body
401Missing or invalid API key
402Subscription required (trial expired)
403Authenticated but not authorised for this project
404Resource not found
429Rate-limited — back off and retry
500Server error

Rate limit: 120 requests / minute per API key. Rate-limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are returned on every response.

Projects

GET /api/projects

List every project the authenticated user is a member of.

[
  {
    "id": 24,
    "name": "Riverside Tower Phase 2",
    "ref": "4353",
    "address": "Manchester, M3 4BT",
    "client": "Northern Estates",
    "storeys": 18,
    "height": 75.0,
    "status": "active",
    "created_at": "2026-01-14T09:22:00Z"
  }
]
GET /api/projects/:id
POST /api/projects
GET /api/projects/:id/site-data

Documents / Drawings

GET /api/documents?project_id=24&folder=drawings

Returns every drawing in the project's unified Drawings folder. Add &include_all=1 to include superseded revisions.

[
  {
    "id": 1042,
    "ref": "LAY-CFL-00-DR-1000",
    "title": "Ground floor plan",
    "revision": "C01",
    "drawing_type": "plan",
    "discipline": "architect",
    "purpose_of_issue": "S4",
    "revision_status": "approval",
    "is_latest": 1,
    "file_original_name": "LAY-CFL-00-DR-1000.pdf",
    "created_at": "2026-03-22T11:14:00Z"
  }
]
POST /api/documents/upload — multipart/form-data
POST /api/documents/bulk-update
DELETE /api/documents/:id

RFIs

GET /api/rfis?project_id=24
POST /api/rfis
PUT /api/rfis/:id

MOR Items

GET /api/mor?project_id=24
POST /api/mor
PUT /api/mor/:id

Change Control

GET /api/change-control?project_id=24
POST /api/change-control
PUT /api/change-control/:id

Materials

GET /api/materials?project_id=24
POST /api/materials
PUT /api/materials/:id

Mailbox

GET /api/mail/threads?project_id=24&folder=inbox
GET /api/mail/:id
POST /api/mail

Governance & workflows

GET /api/workflow-instances?project_id=24
POST /api/records/:type/:id/next-step
POST /api/records/:type/:id/close-module
POST /api/records/:type/:id/reopen-module

Webhooks

Configure outbound webhooks in Settings → Webhooks to receive real-time notifications when records change. Each event is delivered as a JSON POST with an HMAC-SHA256 signature in the X-Rekon-Signature header.

Available events:

Need help? Email api@rekon.uk or open a support ticket from your dashboard. Pro & Enterprise customers get priority support and dedicated integration assistance.