Webhook Response Payloads

Here is a list of response payloads that you will receive via the callback endpoint you provided. Each payload corresponds to a specific data type and includes the action performed (create, update, or delete), metadata, and the data payload itself.


Activity Phase API Webhook Response

{
  "dataType": "activity_phase",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "activityId": 1,
    "billable": true,
    "feeType": "Fixed Fee" | "Hourly",
    "isArchived": false,
    "isDefault": true,
    "mosaicId": 10,
    "mosaicTeamId": 100,
    "projectId": 20,
    "phaseId": 200,
    "total": 1000,
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Budget Estimate API Webhook Response

{
  "dataType": "budget_estimate",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "activityPhaseId": 6,
    "createdAt": "2020-05-06T13:38:04.768-04:00",
    "estimatedAmount": 5000.0,
    "estimatedHours": 5.0,
    "estimatedPercentage": 0.0,
    "memberId": 1,
    "memberName": "Mosaic",
    "memberEmail": "[email protected]",
    "mosaicId": 100,
    "mosaicTeamId": 200,
    "phaseId": 4,
    "phaseName": "Phase C",
    "portfolioId": 2,
    "portfolioName": "Portfolio A",
    "projectId": 3,
    "projectTitle": "Project B",
    "scopeId": 7,
    "standardWorkCategoryId": 5,
    "standardWorkCategoryTitle": "Activity D",
    "updatedAt": "2021-09-20T15:46:13.770-04:00"
  },
  "apiRequestId": "<uuid>"
}

Calendar Event API Webhook Response

{
  "dataType": "calendar_event",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "details": "These are some details",
    "endDatetime": "2022-02-07T14:55:42.762-05:00",
    "memberIds": [1, 2, 3],
    "mosaicTeamId": 7,
    "mosaicId": 1,
    "phaseId": 777,
    "projectId": 77,
    "startDatetime": "2022-01-07T14:55:42.762-05:00",
    "title": "This is a title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Check-in API Webhook Response

{
  "dataType": "check_in",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "date": "2022-02-07T14:55:42.762-05:00",
    "estimatedHours": 37.5,
    "memberEmail": "[email protected]",
    "memberId": 5,
    "memberName": "Test Name",
    "mosaicId": 6,
    "mosaicTeamId": 7,
    "phaseId": 3,
    "phaseName": "Phase name",
    "portfolioId": 1,
    "portfolioName": "Board name",
    "projectId": 2,
    "projectTitle": "Project title",
    "standardWorkCategoryId": 4,
    "standardWorkCategoryTitle": "Activity title",
    "title": "Title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Invoice API Webhook Response

{
  "dataType": "invoice",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "amount": 500,
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "isEstimate": true,
    "invoiceDate": "2022-02-07T14:55:42.762-05:00",
    "invoiceNumber": 444,
    "invoiceType": "Percentage" | "Fixed Fee",
    "mosaicId": 4,
    "mosaicTeamId": 44,
    "notes": "Example notes",
    "percentage": 100,
    "periodEnd": "2022-02-01T14:55:42.762-05:00",
    "periodStart": "2022-01-01T14:55:42.762-05:00",
    "phaseId": 3,
    "phaseName": "Phase name",
    "portfolioId": 1,
    "portfolioName": "Board name",
    "projectId": 2,
    "projectTitle": "Project title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Member API Webhook Response

{
  "dataType": "team_membership",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "email": "[email protected]",
    "firstName": "Jonathan",
    "isArchived": true,
    "lastName": "Snowe",
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Phase API Webhook Response

{
  "dataType": "phase",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "budgetStatus": "hold" | "active" | "not started" | "complete",
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "endDate": "2022-02-07T14:55:42.762-05:00",
    "isArchived": false,
    "isBillable": false,
    "isBudget": false,
    "isDefault": false,
    "isMain": false,
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "phaseNumber": 111,
    "profitCenter": "",
    "projectId": 1111,
    "startDate": "2022-02-07T14:55:42.762-05:00",
    "title": "Title",
    "total": 500,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Project API Webhook Response

{
  "dataType": "project",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "description": "This is a description",
    "endDate": "2022-02-07T14:55:42.762-05:00",
    "portfolioId": 1,
    "isArchived": true,
    "isBillable": false,
    "mainPhaseId": 12,
    "mosaicId": 11,
    "mosaicTeamId": 111,
    "projectNumber": 1111,
    "startDate": "2022-02-07T14:55:42.762-05:00",
    "title": "This is a title",
    "total": 500,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Project Client API Webhook Response

{
  "dataType": "project_client",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "description": "This is a description",
    "isArchived": true,
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "title": "This is a title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Project Scope API Webhook Response

{
  "dataType": "project_scope",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "assignees": [
      {
        "email": "[email protected]",
        "id": 12,
        "name": "Assignee"
      }
    ],
    "assigners": [
      {
        "email": "[email protected]",
        "id": 102,
        "name": "Assigner"
      }
    ],
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "description": "This is a description",
    "estimatedHours": 40,
    "isApproved": true,
    "isRequest": true,
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "note": "This is a note",
    "phaseId": 1111,
    "portfolioId": 1111111,
    "primaryAssigneeId": 12,
    "primaryAssignerId": 14,
    "projectId": 111,
    "scheduleEnd": "2022-02-07T14:55:42.762-05:00",
    "scheduleStart": "2022-02-07T14:55:42.762-05:00",
    "standardWorkCategoryId": 11111,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Project Task API Webhook Response

{
  "dataType": "project_task",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "activityPhaseId": 333,
    "assignees": [
      {
        "email": "[email protected]",
        "id": 12,
        "name": "Assignee"
      }
    ],
    "assigners": [
      {
        "email": "[email protected]",
        "id": 102,
        "name": "Assigner"
      }
    ],
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "completedAt": "2022-02-07T14:55:42.762-05:00",
    "description": "This is a description",
    "estimatedHours": 40,
    "id": 2,
    "mosaicId": 22,
    "mosaicTeamId": 222,
    "note": "This is a note",
    "phaseId": 2222,
    "portfolioId": 1,
    "portfolioName": "This is a board name",
    "primaryAssigneeId": 12,
    "primaryAssignerId": 222,
    "projectId": 111,
    "projectDescription": "This is a project description",
    "projectTitle": "This is a project title",
    "scheduleEnd": "2022-02-07T14:55:42.762-05:00",
    "scheduleStart": "2022-02-07T14:55:42.762-05:00",
    "standardWorkCategoryId": 22222,
    "status": "Approved",
    "taskGroupId": 42,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Salary API Webhook Response

{
  "dataType": "salary",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "activeRateType": "annual" | "hourly",
    "actualHourlyRate": 27.5,
    "annualRate": 150000,
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "description": "This is a description",
    "endDate": "2022-02-07T14:55:42.762-05:00",
    "hourlyRate": 25,
    "hoursPerYear": 480,
    "memberId": 333,
    "memberName": "This is the account name",
    "memberEmail": "[email protected]",
    "mosaicId": 1,
    "mosaicTeamId": 22,
    "overheadFactor": 7,
    "startDate": "2022-02-07T14:55:42.762-05:00",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Standard Work Category API Webhook Response

{
  "dataType": "standard_work_category",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "activityCode": 1,
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "isArchived": false,
    "isBillable": false,
    "mosaicId": 10,
    "mosaicTeamId": 100,
    "title": "This is a title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Task Group API Webhook Response

{
  "dataType": "task_group",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "isDefault": true,
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "name": "This is a name",
    "projectId": 2,
    "projectTitle": "Project title",
    "projectTasksCount": 7,
    "taskOrder": [3003, 4004, 4002, 4001],
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Team Rate API Webhook Response

{
  "dataType": "team_rate",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "endDate": "2022-02-07T14:55:42.762-05:00",
    "memberName": "Test",
    "memberEmail": "[email protected]",
    "mosaicId": 1,
    "mosaicTeamId": 11,
    "memberId": 111,
    "rateAmount": 402,
    "rateDescription": "This is a rate description",
    "rateId": 2,
    "startDate": "2022-02-07T14:55:42.762-05:00",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Time Entry API Webhook Response

{
  "dataType": "time_entry",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "date": "2022-02-07T14:55:42.762-05:00",
    "descriptionId": 3,
    "hours": 48,
    "isBillable": true,
    "memberEmail": "[email protected]",
    "memberId": 1,
    "memberName": "Test",
    "mosaicId": 12,
    "mosaicTeamId": 22,
    "phaseId": 4,
    "phaseName": "This is a phase name",
    "portfolioId": 243,
    "portfolioName": "This is a portfolio name",
    "projectId": 5,
    "projectTitle": "This is a project title",
    "rate": 63,
    "standardWorkCategoryId": 2,
    "standardWorkCategoryTitle": "Default",
    "status": 0 | 1 | 2 | 3,
    "title": "This is a title",
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Work Plan API Webhook Response

{
  "dataType": "work_plan",
  "metadata": {},
  "actionType": "update" | "create" | "delete",
  "dataPayload": {
    "bars": [],
    "createdAt": "2022-02-07T14:55:42.762-05:00",
    "dailyHours": 8,
    "description": "This is a description",
    "endDate": "2022-02-07T14:55:42.762-05:00",
    "memberEmail": "[email protected]",
    "memberId": 30,
    "memberName": "Test",
    "mosaicId": 1,
    "mosaicTeamId": 10,
    "phaseId": 20,
    "phaseName": "This is a phase name",
    "portfolioId": 4,
    "portfolioName": "Example portfolio name",
    "projectId": 2,
    "projectTitle": "This is a project title",
    "standardWorkCategoryId": 3,
    "standardWorkCategoryTitle": "This is a standard work category title",
    "startDate": "2022-01-07T14:55:42.762-05:00",
    "totalHours": 40,
    "updatedAt": "2022-02-07T14:55:42.762-05:00"
  },
  "apiRequestId": "<uuid>"
}

Note:

  • actionType Field: This field indicates the action performed on the data and can be one of the following:

    • "create"
    • "update"
    • "delete"
  • Date Formats: All date and time fields are in ISO 8601 format with timezone offset, e.g., "2022-02-07T14:55:42.762-05:00".

  • Email Fields: Email addresses are provided as plain strings, e.g., "memberEmail": "[email protected]".

  • Enumerated Values:

    • Where multiple options are possible, they are separated by |. For example, "feeType": "Fixed Fee" | "Hourly" means the feeType can be either "Fixed Fee" or "Hourly".
  • Status Fields:

    • Status codes such as 0, 1, 2, 3, 4 correspond to predefined statuses in your system. Please refer to the specific endpoint documentation for the specific meaning of each code.

Please ensure your callback endpoint is configured to handle these payloads appropriately. If you have any questions or need further clarification on any of the fields, feel free to reach out to your Customer Success Manager.