API Documentation

Learn how to integrate with the FiboDC API using your API key

Authentication

All API requests require authentication using an API key. To authenticate, include your API key in the request headers:

Authorization: Bearer YOUR_API_KEY

API keys can be generated in the Settings page when admin features are enabled.

Get All Work Items

Retrieves a list of all workflows with pagination support.

Endpoint

GET /api/external/workflows

Query Parameters

  • page (optional): Page number (default: 1)
  • limit (optional): Number of items per page (default: 20)
  • search (optional): Search term to filter workflows by name or description
  • status (optional): Filter workflows by status

Response

{
  "success": true,
  "data": [
    {
      "id": "application_id",
      "name": "Workflow Name",
      "description": "Workflow Description",
      "status": ["New", "Archived"],
      "isPublished": true,
      "isPublic": true,
      "isSLA": false,
      "hasDeadline": false,
      "deadline": null,
      "accessLevel": "public",
      "createdAt": "2025-03-25T12:00:00.000Z",
      "updatedAt": "2025-03-25T12:00:00.000Z",
      "organization": {
        "id": "organization_id",
        "name": "Organization Name"
      },
      "user": {
        "id": "user_id",
        "name": "User Name",
        "email": "user@example.com"
      },
      "_count": {
        "Submissions": 5
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "totalCount": 50,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}

Get Workflow by ID

Retrieves detailed information about a specific workflow.

Endpoint

GET /api/external/workflows/{id}

Response

{
  "success": true,
  "data": {
    "id": "application_id",
    "name": "Workflow Name",
    "description": "Workflow Description",
    "formTitle": "Form Title",
    "formDescription": "Form Description",
    "questionnaire": "Questionnaire JSON",
    "status": ["New", "Archived"],
    "isPublished": true,
    "isPublic": true,
    "isSLA": false,
    "hasDeadline": false,
    "deadline": null,
    "accessLevel": "public",
    "submissionAccess": "any_person",
    "allowedOrgIds": [],
    "createdAt": "2025-03-25T12:00:00.000Z",
    "updatedAt": "2025-03-25T12:00:00.000Z",
    "organization": {
      "id": "organization_id",
      "name": "Organization Name",
      "description": "Organization Description"
    },
    "user": {
      "id": "user_id",
      "name": "User Name",
      "email": "user@example.com"
    },
    "_count": {
      "Submissions": 5,
      "tasks": 2
    }
  }
}

Error Responses

All endpoints return a consistent error response format:

{
  "success": false,
  "error": "Error message"
}

Common HTTP Status Codes

  • 400: Bad Request - Missing or invalid parameters
  • 401: Unauthorized - Missing or invalid API key
  • 403: Forbidden - Admin features not enabled
  • 404: Not Found - Resource not found
  • 500: Internal Server Error - Server-side error

Code Examples

Get All Work Items

curl -X GET "https://warkflow.com//api/external/workflows?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Update Submission Status

curl -X PATCH "https://warkflow.com//api/external/submissions/submission_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "In Progress"}'