StaffCircle API
  1. Help Center
  2. StaffCircle API

5.1 Absences

Absences are created are created every time a holiday or absence is registered. The Webhook contains the following data model.

Absence Template

{

    "id": <int>,

       "requestedForPersonId": <int>,

    "unitType": <string – (Days|Hours)>,

    "partialDay": <string – (Morning|Afternoon) Only present on half day requests>,

    "numberOfHours": <decimal – Always 0.0 if unitType is Days >

    "start": <string ISO 8601 Date – Time Zeroed if unitType is Days >,

    "end":  <string ISO 8601 Date – Time Zeroed if unitType is Days >

    "typeId": <int>,

    "type": <string – Type of absence e.g. Sickness, Holiday, … >

    "subTypeId": <int>,

    "subType": <string – Subtype of Absence e.g. Migraine, Flu, …>  

    "policyId": <int>,

    "reason": <string>,

    "createdAt": <string ISO 8601 Date>

       "createdByPersonId": <int>,

    "modifiedAt": <string ISO 8601 Date>,

       "modifiedByPersonId": <int>,

    "documentId": <int – Absent in no document provided on request>,

    "approvalDetails": {

      "status": <string – (Pending|Approved|Declined)>,

      "approvedAt": <string ISO 8601 Date>,

      "response": <string>,

         "approvedByPersonId": <int>

    },

    "manager": {

      "id": <int>

    }

}

 

Json Schema (for use with MS Power Automate)

{
  "type": "object",
  "properties": {
    "subjectType": {
      "type": "string"
    },
    "changeType": {
      "type": "string"
    },
    "subjectFrontEndUrl": {
      "type": "string"
    },
    "timeStamp": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "requestedForPerson": {
          "type": "object",
          "properties": {
            "PersonId": {
              "type": "integer"
            },
            "FirstName": {
              "type": "string"
            },
            "FamilyName": {
              "type": "string"
            },
            "Email": {
              "type": "string"
            }
          }
        },
        "unitType": {
          "type": "string"
        },
        "numberOfHours": {
          "type": "integer"
        },
        "partialDay": {
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "end": {
          "type": "string"
        },
        "typeId": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "subTypeId": {
          "type": "integer"
        },
        "absenceSubType": {
          "type": "string"
        },
        "policyId": {
          "type": "integer"
        },
        "reason": {
          "type": "string"
        },
        "createdAt": {
          "type": "string"
        },
        "createdByPerson": {
          "type": "object",
          "properties": {
            "PersonId": {
              "type": "integer"
            },
            "FirstName": {
              "type": "string"
            },
            "FamilyName": {
              "type": "string"
            },
            "Email": {
              "type": "string"
            }
          }
        },
        "modifiedAt": {
          "type": "string"
        },
        "modifiedByPerson": {
          "type": "object",
          "properties": {
            "PersonId": {
              "type": "integer"
            },
            "FirstName": {
              "type": "string"
            },
            "FamilyName": {
              "type": "string"
            },
            "Email": {
              "type": "string"
            }
          }
        },
        "approvalDetails": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "approvedAt": {
              "type": "string"
            },
            "response": {
              "type": "string"
            },
            "approvalTypeId": {
              "type": "integer"
            },
            "approvalType": {
              "type": "string"
            },
            "approvedByPerson": {
              "type": "object",
              "properties": {
                "PersonId": {
                  "type": "integer"
                },
                "FirstName": {
                  "type": "string"
                },
                "FamilyName": {
                  "type": "string"
                },
                "Email": {
                  "type": "string"
                }
              }
            }
          }
        },
        "manager": {
          "type": "object",
          "properties": {
            "PersonId": {
              "type": "integer"
            },
            "FirstName": {
              "type": "string"
            },
            "FamilyName": {
              "type": "string"
            },
            "Email": {
              "type": "string"
            }
          }
        },
        "documentId": {
          "type": "integer"
        },
        "taskId": {
          "type": "integer"
        },
        "taskCompleted": {
          "type": "boolean"
        },
        "isDeleted": {
          "type": "boolean"
        }
      }
    },
    "differences": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          }
        },
        "required": [
          "path",
          "oldValue",
          "newValue"
        ]
      }
    }
  }
}