Projects API
The Projects API lets you create and manage projects and their associated sites.
Projects
Section titled “Projects”List projects
Section titled “List projects”GET /api/v1/projectsQuery parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: draft, active, on_hold, completed, archived |
page | int | Page number |
per_page | int | Items per page (max 100) |
Example:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.ramsdoc.com/api/v1/projects?status=active"Response:
{ "data": [ { "id": "...", "name": "Acme Tower Refurbishment", "reference": "PRJ-2026-042", "client_name": "Acme Properties Ltd", "status": "active", "cdm_notifiable": true, "start_date": "2026-04-01", "end_date": "2026-09-30", "created_at": "2026-03-10T09:00:00Z" } ], "meta": { "current_page": 1, "per_page": 25, "total": 8 }}Create a project
Section titled “Create a project”POST /api/v1/projects{ "name": "Acme Tower Refurbishment", "reference": "PRJ-2026-042", "client_name": "Acme Properties Ltd", "client_contact_name": "Jane Smith", "client_contact_email": "jane@acmeproperties.co.uk", "cdm_notifiable": true, "status": "active", "start_date": "2026-04-01", "end_date": "2026-09-30", "industry_id": "..."}Get a project
Section titled “Get a project”GET /api/v1/projects/{project}Update a project
Section titled “Update a project”PUT /api/v1/projects/{project}Archive a project
Section titled “Archive a project”DELETE /api/v1/projects/{project}Soft-deletes the project. Documents are preserved but the project is removed from active lists.
List project documents
Section titled “List project documents”GET /api/v1/projects/{project}/documentsReturns all documents associated with the project.
List project contractors
Section titled “List project contractors”GET /api/v1/projects/{project}/contractorsReturns all contractors invited to the project with their submission status.
Create a site
Section titled “Create a site”POST /api/v1/sites{ "project_id": "...", "name": "Acme Tower — Main Building", "address": "1 Tower Street", "city": "London", "postcode": "EC1A 1BB", "latitude": 51.5185, "longitude": -0.0891, "site_contact_name": "Bob Jones", "site_contact_phone": "07700 900123", "access_notes": "Enter via side gate on Tower Lane. Report to site cabin.", "emergency_assembly_point": "Car park on Tower Lane, west side", "nearest_hospital": "St Bartholomew's Hospital", "nearest_hospital_address": "West Smithfield, London EC1A 7BE"}Get a site
Section titled “Get a site”GET /api/v1/sites/{site}Update a site
Section titled “Update a site”PUT /api/v1/sites/{site}Upload site photos
Section titled “Upload site photos”POST /api/v1/sites/{site}/photosUpload one or more photos for the site. Use multipart/form-data:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \ -F "photos[]=@site-entrance.jpg" \ -F "photos[]=@work-area.jpg" \ "https://api.ramsdoc.com/api/v1/sites/SITE_ID/photos"Photos are stored and available for AI analysis during document generation.
Related endpoints
Section titled “Related endpoints”| Endpoint | Description |
|---|---|
GET /api/v1/industries | List available industries for project classification |
GET /api/v1/search?q=... | Global search across documents, projects, and hazards |