Projects

Manage workflow projects including project creation, listing, updating, and retrieving associated workflows

List Projects

GET /v1/projects

Get a paginated list of projects with optional search and filtering.

Query Parameters:

  • search (string, optional): Search query for project names and descriptions
  • pageSize (string, optional): Number of items per page (1-1000, default: 10)
  • afterCursor (string, optional): Cursor for next page pagination
  • beforeCursor (string, optional): Cursor for previous page pagination
  • sortDirection (string, optional): Sort direction (asc, desc, default: asc)
  • sortFields (array, optional): Fields to sort by (updatedAt, createdAt, default: createdAt)
  • projectIds (string, optional): Comma-separated project UUIDs to retrieve specific projects

Response (200 OK):

{
    "content": [
        {
            "id": "6c06edfb-1cec-4f41-9c89-96204f1a2cb0",
            "name": "Patient Management System",
            "description": "Comprehensive workflow for patient intake, treatment, and follow-up",
            "organizationId": "org-123456789",
            "userId": "user-987654321",
            "createdAt": "2024-01-15T09:00:00.000Z",
            "updatedAt": "2024-01-20T14:30:00.000Z",
            "usedStepTypes": ["forms", "notifications", "data-activation", "integration"],
            "isStarred": true,
            "allTime": {
                "count": 245
            }
        },
        {
            "id": "7d17fec0-2ded-5f52-ad90-a7315f3c3dc1",
            "name": "Document Processing Pipeline",
            "description": "Automated document classification and routing system",
            "organizationId": "org-123456789",
            "userId": "user-987654321",
            "createdAt": "2024-01-10T11:00:00.000Z",
            "updatedAt": "2024-01-18T16:45:00.000Z",
            "usedStepTypes": ["forms", "sign", "workflows"],
            "isStarred": false,
            "allTime": {
                "count": 89
            }
        }
    ],
    "afterCursor": "eyJjcmVhdGVkQXQiOiIyMDI0LTAxLTEwVDExOjAwOjAwLjAwMFoifQ==",
    "beforeCursor": null
}

Response (400 Bad Request):

{
    "message": "Invalid paging arguments",
    "traceId": "09f9aa68-4d89-465b-8d6d-41490fff7727"
}

Create Project

POST /v1/projects

Create a new project.

Request Body:

Required fields:

  • name

Optional fields:

  • description
{
    "name": "Emergency Response Workflow",
    "description": "Rapid response system for emergency situations"
}

Response (201 Created):

{
    "id": "8e28gfd1-3eee-6g63-be01-b8426g4d4ed2",
    "name": "Emergency Response Workflow",
    "description": "Rapid response system for emergency situations",
    "organizationId": "org-123456789",
    "userId": "user-987654321",
    "createdAt": "2024-01-20T15:00:00.000Z",
    "updatedAt": "2024-01-20T15:00:00.000Z",
    "usedStepTypes": [],
    "isStarred": false,
    "allTime": {
        "count": 0
    }
}

Get Project by ID

GET /v1/projects/{projectId}

Get details of a specific project.

Path Parameters:

  • projectId (string, required): Project UUID

Response (200 OK):

{
    "id": "6c06edfb-1cec-4f41-9c89-96204f1a2cb0",
    "name": "Patient Management System",
    "description": "Comprehensive workflow for patient intake, treatment, and follow-up",
    "organizationId": "org-123456789",
    "userId": "user-987654321",
    "createdAt": "2024-01-15T09:00:00.000Z",
    "updatedAt": "2024-01-20T14:30:00.000Z",
    "usedStepTypes": ["forms", "notifications", "data-activation", "integration"],
    "isStarred": true,
    "allTime": {
        "count": 245
    }
}

Update Project

PATCH /v1/projects/{projectId}

Update a project's name and description.

Path Parameters:

  • projectId (string, required): Project UUID

Request Body:

Optional fields:

  • name
  • description
{
    "name": "Advanced Patient Management System",
    "description": "Enhanced workflow for patient intake, treatment, follow-up, and analytics"
}

Response (200 OK):

{
    "id": "6c06edfb-1cec-4f41-9c89-96204f1a2cb0",
    "name": "Advanced Patient Management System",
    "description": "Enhanced workflow for patient intake, treatment, follow-up, and analytics",
    "organizationId": "org-123456789",
    "userId": "user-987654321",
    "createdAt": "2024-01-15T09:00:00.000Z",
    "updatedAt": "2024-01-20T16:15:00.000Z",
    "usedStepTypes": ["forms", "notifications", "data-activation", "integration"],
    "isStarred": true,
    "allTime": {
        "count": 245
    }
}

Delete Project

DELETE /v1/projects/{id}

Soft delete a project.

Path Parameters:

  • id (string, required): Project UUID

Response (200 OK):

No response body.


Get Project Workflow

GET /v1/projects/{projectId}/workflows

Get the workflow configuration for a specific project.

Path Parameters:

  • projectId (string, required): Project UUID

Query Parameters:

  • includeMetadata (boolean, optional): Include workflow step metadata (default: false)

Response (200 OK):

{
    "id": "workflow-456789",
    "projectId": "6c06edfb-1cec-4f41-9c89-96204f1a2cb0",
    "version": 1,
    "organizationId": "org-123456789",
    "userId": "user-987654321",
    "steps": [
        {
            "id": "step-111",
            "description": "Patient Registration Form",
            "type": "forms",
            "workflowId": "workflow-456789",
            "version": 1,
            "organizationId": "org-123456789",
            "userId": "user-987654321",
            "createdAt": "2024-01-15T09:30:00.000Z",
            "updatedAt": "2024-01-15T09:30:00.000Z",
            "configurationStatistics": {
                "amountOfAssignees": 5
            }
        },
        {
            "id": "step-222",
            "description": "Medical History Review",
            "type": "forms",
            "workflowId": "workflow-456789",
            "version": 1,
            "organizationId": "org-123456789",
            "userId": "user-987654321",
            "createdAt": "2024-01-15T09:35:00.000Z",
            "updatedAt": "2024-01-15T09:35:00.000Z",
            "configurationStatistics": {
                "amountOfAssignees": 3
            }
        }
    ],
    "edges": [
        {
            "id": "edge-123",
            "next": "step-222",
            "prev": "step-111"
        }
    ],
    "createdAt": "2024-01-15T09:00:00.000Z",
    "updatedAt": "2024-01-20T14:30:00.000Z"
}

Star Project

POST /v1/projects/{projectId}/star

Add a project to the user's starred projects list.

Path Parameters:

  • projectId (string, required): Project UUID

Response (201 Created):

No response body.

Response (400 Bad Request):

{
    "message": "Project is already starred",
    "traceId": "09f9aa68-4d89-465b-8d6d-41490fff7727"
}

Response (404 Not Found):

{
    "message": "Project not found",
    "traceId": "09f9aa68-4d89-465b-8d6d-41490fff7727"
}

Unstar Project

DELETE /v1/projects/{projectId}/star

Remove a project from the user's starred projects list.

Path Parameters:

  • projectId (string, required): Project UUID

Response (200 OK):

No response body.

Response (400 Bad Request):

{
    "message": "Project not starred",
    "traceId": "09f9aa68-4d89-465b-8d6d-41490fff7727"
}

Response (404 Not Found):

{
    "message": "Project not found",
    "traceId": "09f9aa68-4d89-465b-8d6d-41490fff7727"
}