Docs/API/Endpoints Reference

API Endpoints Reference

Complete reference of all available API endpoints. Base URL: https://api.ecpermit.com/v1

Projects

GET/projects
GET/projects/{id}
POST/projects
PUT/projects/{id}
DELETE/projects/{id}

Forms

GET/projects/{projectId}/forms
GET/projects/{projectId}/forms/{id}
POST/projects/{projectId}/forms
PUT/projects/{projectId}/forms/{id}
POST/projects/{projectId}/forms/{id}/actions/{action}
DELETE/projects/{projectId}/forms/{id}

Form Types

GET/projects/{projectId}/form-types
GET/projects/{projectId}/form-types/{id}
POST/projects/{projectId}/form-types
PUT/projects/{projectId}/form-types/{id}
DELETE/projects/{projectId}/form-types/{id}

Users

GET/projects/{projectId}/users
POST/projects/{projectId}/users/invite
PUT/projects/{projectId}/users/{id}
DELETE/projects/{projectId}/users/{id}

Example: Create a Form

POST /v1/projects/proj_123/forms
Content-Type: application/json
Authorization: Bearer sk_live_...

{
  "form_type_id": "ft_456",
  "answers": {
    "q_work_location": "Building A, Floor 3",
    "q_start_date": "2024-01-15T09:00:00Z",
    "q_end_date": "2024-01-15T17:00:00Z",
    "q_hot_work_type": "welding"
  }
}

Pagination

List endpoints support pagination via query parameters:

  • page — Page number (default: 1)
  • per_page — Items per page (default: 20, max: 100)
  • sort — Sort field (e.g., created_at)
  • order — Sort order (asc or desc)

Filtering

Filter results using query parameters:

GET /v1/projects/proj_123/forms?status=approved&created_after=2024-01-01

OpenAPI Spec

A complete OpenAPI specification is available at /api/docs/openapi.json for generating client SDKs.