Skip to main content

Event related

Create a Manager

Creates a new Manager responsible for Event management.
The managerId response field is crucial for creating Events.

MethodURLAPI key Authentication
POST/PartnerServices/CreateEventManagerREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
managerFirstNameStringManager's First Name.Any string value
managerLastNameStringManager's Last Name.Any string value
managerEmailStringManager's Email Address.

Details
If the email already exists and belongs to the partner, the existing Manager is returned.
Any string value
Example Request Body
{
"managerFirstName": "John",
"managerLastName": "Doe",
"managerEmail": "johndoe@gmail.com"
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Manager was created or retrieved successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
401 - UnauthorizedWhen the API key is incorrect.
409 - ConflictWhen the email provided exists, but does not belong to the partner.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON object containing details of the newly added Manager.

FieldTypeDescription
kindlyManagerIdStringManager's ID

Details
To execute more transactions for this Manager, you need to manage/store this ID
managerFirstNameStringManager's First Name.
managerLastNameStringManager's Last Name.
managerEmailStringManager's Email Address.
Example Response Body
{
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"managerFirstName": "John",
"managerLastName": "Doe",
"managerEmail": "johndoe@gmail.com"
}

Get details of an Event

Retrieves information of the Event.
Note that this information is shared among all Shifts associated with the Event.

MethodURLAPI key Authentication
GET/PartnerServices/GetKindlyEventInformationREQUIRED

Request Query Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyEventIdStringEvent's ID.Any string value
Example Query Parameters
?kindlyEventId=e0b4a43800a24116ad269608ec0178d7

Response Status Codes

Status CodeDescription
200 - OKWhen the Event details are retrieved successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Event does not exist
Event does not exist for Partner
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Event is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON object containing information of the Event.

FieldTypeDescription
kindlyManagerIdStringManager's ID.
eventHeadlineStringEvent's Name.
*Displayed in the app.
eventTasksStringThe tasks the Volunteers need to perform at the Event.
*Displayed in the app.
eventRequirementsStringThe requirements for a Volunteer to register for the Event.
*Displayed in the app.
eventRecipientsStringThe individuals or groups targeted for the proposed Event.
*Displayed in the app.
eventLocationNameStringEvent's Location.
*Displayed in the app.
eventAddressStringEvent's Address.
*Displayed in the app.
eventNeighborhoodStringAny notable neighborhood landmark associated with the address.
*Displayed in the app.
eventLatitudeDoubleThe latitude coordinate of the Event location.
*Displayed in the map.
eventLongitudeDoubleThe longitude coordinate of the Event location.
*Displayed in the map.
eventImageStringEvent's thumbnail image.
*Displayed in the app.
kindlyShiftIdsStringA list of Shifts that composes the Event.

Details
An Array of Event Shift objects
Example Response Body
{
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"eventTasks": "Help distributing books",
"eventRequirements": "Over 21 years old, and bring a mask",
"eventRecipients": "Kids and students",
"eventLocationName": "The ABCD university",
"eventAddress": "The ABCD university, 3rd street 10001, NY, USA",
"eventNeighborhood": "Next to the shopping mall FGH",
"eventLatitude": 44.5043322,
"eventLongitude": -93.1618258,
"eventImage": "https://kindly-images-stage.azureedge.net/a461cf67c07349d4ac93df7aa5977917_1.png?upscale=false&width=200",
"kindlyShiftIds": [
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7"
}
]
}

Update details of an Event

Updates information of the Event.
Note that this information is shared among all Shifts associated with the Event.

MethodURLAPI key Authentication
PUT/PartnerServices/UpdateEventREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyEventIdStringEvent's ID.Any string value
kindlyManagerIdStringManager's ID.Any string value
eventHeadlineStringEvent's Name.
*Displayed in the app.
Any string value
eventTasksStringThe tasks a Volunteer will need to perform
at the Event.
*Displayed in the app.
Any string value
eventRequirementsStringThe requirements for a Volunteer to register
for the Event.
*Displayed in the app.
Any string value
eventRecipientsStringThe individuals or groups targeted for the
proposed Event.
*Displayed in the app.
Any string value
eventLocationNameStringEvent's Location.
*Displayed in the app.
Any string value
eventAddressStringEvent's Address.
*Displayed in the app.
Any string value
eventNeighborhoodStringAny notable neighborhood landmark
associated with the address.
*Displayed in the app.
Any string value
Example Request Body
{
"kindlyEventId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"eventTasks": "Help distributing books",
"eventRequirements": "Over 21 years old, and bring a mask",
"eventRecipients": "Kids and students",
"eventLocationName": "The ABCD university",
"eventAddress": "The ABCD university, 3rd street 10001, NY, USA",
"eventNeighborhood": "Next to the shopping mall FGH"
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Event details are updated successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Manager does not exist
Event does not exist
Event has finished
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Event is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Update the shift slots of a Shift

Updates the shift slots of a Shift.

MethodURLAPI key Authentication
PUT/PartnerServices/UpdateShiftSlotsREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
openSlotsCountIntegerThe number of open slots for the Shift.Positive integer, greater than or equal to 0
unknownUserCountIntegerThe number of non-Kindly Users for the Shift.Positive integer, greater than or equal to 0
minimalUserRequirementIntegerThe minimum number of Users required for the Shift.Positive integer, greater than or equal to 0
Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"openSlotsCount": 10,
"unknownUserCount": 5,
"minimalUserRequirement": 3
}

Response Status Codes

Status CodeDescription
200 - OKWhen the shift slots are updated successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
• Field openSlotsCount is less than 0
• Field unknownUserCount is less than 0
Shift does not exist
Shift does not exist for partner
Shift has finished
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a boolean value true when the slots are successfully updated.


Cancel a Shift

Cancels the specified Shift, rendering it unavailable for Users to register in our app.
For Users who have already registered for the canceled Shift, a communication email is sent to inform them about the cancelation.

MethodURLAPI key Authentication
PUT/PartnerServices/CancelShiftREQUIRED

Request Query Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
Example Query Parameters
?kindlyShiftId=e0b4a43800a24116ad269608ec0178d7

Response Status Codes

Status CodeDescription
200 - OKWhen the Shift is canceled successfully.
304 - Not ModifiedWhen the provided Shift already is canceled.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has started
Shift has finished
401 - UnauthorizedWhen the API key is incorrect.
500 - Internal Server ErrorWhen any exception occurred.

Register Users for a Shift

Registers multiple Users for the provided Shift.

MethodURLAPI key Authentication
POST/PartnerServices/RegisterVolunteerToShiftREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
kindlyUserIdListArrayA list of Users to be registered for the provided Shift.An Array of User Shift Registration objects
Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserIdList":
[
{
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24"
}
]
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Users are registered successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has finished
Group does not exist
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a list of registration statuses for the provided Users in the form of a JSON array of User Shift Registration Status objects.
Learn more about the status at the object page mentioned above.

Example Response Body
[
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"status": "Successfully registered"
}
]

Unregister Volunteers from a Shift

Unregisters multiple Volunteers from the provided Shift.

MethodURLAPI key Authentication
POST/PartnerServices/UnRegisterVolunteerFromShiftREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
kindlyUserIdListArrayA list of Users to be unregistered from the provided Shift.An Array of User objects
Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserIdList":
[
{
"kindlyUserId": "10473963d373401fa1430096bfb38da7"
}
]
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Volunteers are unregistered successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has started
Shift has finished
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a list of unregistration statuses for the provided Users in the form of a JSON array of User Shift Unregistration Status objects.
Learn more about the status at the object page mentioned above.

Example Response Body
[
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"status": "Successfully Unregistered"
}
]


Check in Volunteers for a Shift

Performs the check-in for multiple Volunteers on the provided Shift.

MethodURLAPI key Authentication
POST/PartnerServices/VolunteerCheckInToShiftREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
kindlyUserIdListArrayA list of Users to be checked in on the provided Shift.An Array of User objects
Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserIdList":
[
{
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
}
]
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Volunteers are checked in successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has finished
Shift has not yet been published
401 - UnauthorizedWhen the API key is incorrect.
420 -When the provided Shift is canceled.
422 - Unprocessable EntityWhen the provided Shift does not allow check-in yet.
Check-in is only possible within 30 minutes of the Shift start time.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a list of check-in statuses for the provided Users in the form of a JSON array of User Shift Check-in Status objects.
Learn more about the status at the object page mentioned above.

Example Response Body
[
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"status": "Checked in successfully",
"isCheckedIn": true
}
]

Create an Event (V2)

Creates a new Event.

Each Event consists of Shifts (limited to a maximum of 6)

Some parameters are shared within all Shifts, such as the Manager and the name of the Event, while others are limited to a single Shift, such as the time range and the number of Volunteers allowed.

Details
The v2 endpoint takes the datetime offset in both the fields startTimeLocal and endTimeLocal, and creates the Event accordingly.
Both the fields startTimeLocal and endTimeLocal need to be sent with the time zone offset so that the Event time is set correctly.
MethodURLAPI key Authentication
POST/PartnerServices/CreateEvent/v2REQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyManagerIdStringManager's ID.Any string value
eventHeadlineStringEvent's Name.
*Displayed in the app.
Any string value
eventTasksStringThe tasks the Volunteers need to perform at the Event.
*Displayed in the app.
Any string value
eventRequirementsStringThe requirements for a Volunteer to register for the Event.
*Displayed in the app.
Any string value
eventRecipientsStringThe individuals or groups targeted for the proposed Event.
*Displayed in the app.
Any string value
eventLocationNameStringEvent's Location.
*Displayed in the app.
Any string value
eventAddressStringEvent's Address.
*Displayed in the app.
Any string value
eventNeighborhoodStringAny notable neighborhood landmark associated with the address.
*Displayed in the app.
Any string value
shiftsListArrayA list of Shifts that composes the Event.An Array of Event Shift Configuration objects
Example Request Body
{
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"eventTasks": "Help distributing books",
"eventRequirements": "Over 21 years old, and bring a mask",
"eventRecipients": "Kids and students",
"eventLocationName": "The ABCD university",
"eventAddress": "The ABCD university, 3rd street 10001, NY, USA",
"eventNeighborhood": "Next to the shopping mall FGH",
"shiftsList":
[
{
"startTimeLocal": "2023-04-12T17:00:00Z",
"endTimeLocal": "2023-04-12T17:00:00.000Z",
"maximumUsers": 5,
"minimalUserRequirement": 1
}
]
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Event was created successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
• Either field startTimeLocal or endTimeLocal does not have a valid DateTime format
• Dates from fields startTimeLocal and endTimeLocal don't match at the same Shift
• Dates from fields startTimeLocal and endTimeLocal don't match within the shifts list
• Field startTimeLocal is greater than endTimeLocal
• For all Shifts, the timeZone should match the startTimeLocal
• For all Shifts, the timeZone should match the endTimeLocal
• Field maximumUsers is less than or equal to 0
401 - UnauthorizedWhen the API key is incorrect.
404 - Not FoundWhen the Manager does not exist or does not belong to the Partner.
405 - Method Not AllowedWhen the Shift list has more than 6 Shifts.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON object containing details of the newly added Event.

FieldTypeDescription
kindlyEventIdStringEvent's ID.

Details
To execute more transactions for this Event, you need to manage/store this ID.
kindlyManagerIdStringManager's ID.
eventHeadlineStringEvent's Name.
shiftsListArrayA list of Shifts that composes the Event.
An Array of Event Shift Time with Timezone objects.
Example Response Body
{
"kindlyEventId": "688afa4497bd44ba852f5c5673b365f8",
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"shiftsList":
[
{
"kindlyShiftId": "a801304a6c3344508b52ee053c4eaf23",
"startTimeLocal": "2023-10-20 10:50:30-2",
"endTimeLocal": "2023-10-20 10:50:30-2"
}
]
}

Update the shift time of a Shift (V2)

Updates the time range of a provided Shift.

MethodURLAPI key Authentication
PUT/PartnerServices/UpdateShiftTime/v2REQUIRED

Request Body Parameters

An Event Shift Time with Timezone object.

Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2023-06-23T05:49:00.549Z",
"endTimeLocal": "2023-06-23T05:49:00.549Z"
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Shift was updated successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has finished
• Either field startTimeLocal or endTimeLocal does not have a valid DateTime format
• Dates from fields startTimeLocal and endTimeLocal don't match at the same Shift
• Dates from fields startTimeLocal and endTimeLocal don't match within the shifts list
• Field startTimeLocal is greater than endTimeLocal
401 - UnauthorizedWhen the API key is incorrect.
403 - ForbiddenWhen the provided Shift start time is in the past.
420 -When the Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

An Event Shift Time with Timezone object.

Example Response Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2023-06-23T05:49:00.549Z",
"endTimeLocal": "2023-06-23T05:49:00.549Z"
}

Get details of a Shift (V2)

Retrieves the Shift's information.

Details
The v2 endpoint returns the date fields with datetime offsets.
MethodURLAPI key Authentication
GET/PartnerServices/GetShiftsInformation/v2REQUIRED

Request Query Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
Example Query Parameters
?kindlyShiftId=e0b4a43800a24116ad269608ec0178d7

Response Status Codes

Status CodeDescription
200 - OKWhen the Shift details are retrieved successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Missing required fields
Shift does not exist
401 - UnauthorizedWhen the API key is incorrect.
420 -When the Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON Returns a JSON object containing the information of the Shift.

FieldTypeDescription
kindlyEventIdStringEvent's ID.
startTimeLocalDateTimeThe start time of the Shift with time zone offset.
endTimeLocalDateTimeThe end time of the Shift with time zone offset.
openSlotsCountIntegerThe number of open slots of the Shift.
unknownUserCountIntegerThe number of non-Kindly Users estimated to attend the Shift.
kindlyKnownUserListArrayA list of registered Users who already have a Kindly account.
An Array of User Shift Registration objects.
kindlyInvitationListArrayA list of Invited Names in the Groups of the Shift.
An Array of Event Shift Invited Name objects.
partnerGroupListArrayA list of Groups created for the Shift.
An Array of Group objects.
Example Response Body
{
"kindlyEventId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2022-12-10T23:02:00Z",
"endTimeLocal": "2022-12-11T00:54:00Z",
"openSlotsCount": 1,
"unknownUserCount": 1,
"kindlyKnownUserList":
[
{
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24"
}
],
"kindlyInvitationList":
[
{
"kindlyInvitationId": "10473963d373401fa1430096bfb38da7",
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24"
}
],
"partnerGroupList":
[
{
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24",
"partnerGroupId": "0123456789abc",
"partnerGroupName": "The Cool Group",
"partnerGroupJoinCode": "abc123456",
"partnerGroupType": 4,
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"partnerGroupUserCount": 20,
"groupOpenUserSlots": 3,
"kindlyRegisteredUserCount": 10,
"partnerRegisteredUserCount": 5,
"kindlyInviteeUserCount": 2
}
]
}

Create an Event (V1)

Creates a new Event.

Each Event consists of Shifts (limited to a maximum of 6)

Some parameters are shared within all Shifts, such as the Manager and the name of the Event, while others are limited to a single Shift, such as the time range and the number of Volunteers allowed.

Details
The v1 endpoint sets the datetime offset in both the fields startTimeLocal and endTimeLocal to the default value of 'Central Standard Time', i.e., UTC-5/UTC-6 (based on Daylight Saving Time), and creates the Event accordingly.
Both the fields startTimeLocal and endTimeLocal need to be sent without the time zone offset so that the Event time is set correctly.
MethodURLAPI key Authentication
POST/PartnerServices/CreateEventREQUIRED

Request Body Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyManagerIdStringManager's ID.Any string value
eventHeadlineStringEvent's Name.
*Displayed in the app.
Any string value
eventTasksStringThe tasks the Volunteers need to perform at the Event.
*Displayed in the app.
Any string value
eventRequirementsStringThe requirements for a Volunteer to register for the Event.
*Displayed in the app.
Any string value
eventRecipientsStringThe individuals or groups targeted for the proposed Event.
*Displayed in the app.
Any string value
eventLocationNameStringEvent's Location.
*Displayed in the app.
Any string value
eventAddressStringEvent's Address.
*Displayed in the app.
Any string value
eventNeighborhoodStringAny notable neighborhood landmark associated with the address.
*Displayed in the app.
Any string value
shiftsListArrayA list of Shifts that composes the Event.An Array of Event Shift Configuration objects
Example Request Body
{
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"eventTasks": "Help distributing books",
"eventRequirements": "Over 21 years old, and bring a mask",
"eventRecipients": "Kids and students",
"eventLocationName": "The ABCD university",
"eventAddress": "The ABCD university, 3rd street 10001, NY, USA",
"eventNeighborhood": "Next to the shopping mall FGH",
"shiftsList":
[
{
"startTimeLocal": "2023-04-12T17:00:00",
"endTimeLocal": "2023-04-12T17:00:00.000",
"maximumUsers": 5,
"minimalUserRequirement": 1
}
]
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Event was created successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
• Either field startTimeLocal or endTimeLocal does not have a valid DateTime format
• Dates from fields startTimeLocal and endTimeLocal don't match at the same Shift
• Dates from fields startTimeLocal and endTimeLocal don't match within the shifts list
• Field startTimeLocal is greater than endTimeLocal
• Either field startTimeLocal or endTimeLocal have a timezone offset
• Field maximumUsers is less than or equal to 0
401 - UnauthorizedWhen the API key is incorrect.
404 - Not FoundWhen the Manager does not exist or does not belong to the Partner.
405 - Method Not AllowedWhen the Shift list has more than 6 Shifts.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON object containing details of the newly created Event.

FieldTypeDescription
kindlyEventIdStringEvent's ID.

Details
To execute more transactions for this Event, you need to manage/store this ID.
kindlyManagerIdStringManager's ID.
eventHeadlineStringEvent's Name.
shiftsListArrayA list of Shifts that composes the Event.
An Array of Event Shift Time without Timezone objects.
Example Response Body
{
"kindlyEventId": "688afa4497bd44ba852f5c5673b365f8",
"kindlyManagerId": "2af19cc5c8f14ce692d5449bd6e0d2d8",
"eventHeadline": "Books Distribution",
"shiftsList":
[
{
"kindlyShiftId": "a801304a6c3344508b52ee053c4eaf23",
"startTimeLocal": "2023-10-20 10:50:30",
"endTimeLocal": "2023-10-20 10:50:30"
}
]
}

Update the shift time of a Shift (V1)

Updates the time range of a provided Shift.

MethodURLAPI key Authentication
PUT/PartnerServices/UpdateShiftTimeREQUIRED

Request Body Parameters

An Event Shift Time without Timezone object.

Example Request Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2023-10-20 10:50:30",
"endTimeLocal": "2023-10-20 10:50:30"
}

Response Status Codes

Status CodeDescription
200 - OKWhen the Shift was updated successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Payload is not set
• Missing required fields
Shift does not exist
Shift does not exist for Partner
Shift has finished
• Either field startTimeLocal or endTimeLocal does not have a valid DateTime format
• Dates from fields startTimeLocal and endTimeLocal don't match at the same Shift
• Dates from fields startTimeLocal and endTimeLocal don't match within the shifts list
• Field startTimeLocal is greater than endTimeLocal
401 - UnauthorizedWhen the API key is incorrect.
403 - ForbiddenWhen the provided Shift start time is in the past.
420 -When the Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

An Event Shift Time without Timezone object.

Example Response Body
{
"kindlyShiftId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2023-10-20 10:50:30",
"endTimeLocal": "2023-10-20 10:50:30"
}

Get details of a Shift (V1)

Retrieves the Shift's information.

MethodURLAPI key Authentication
GET/PartnerServices/GetShiftsInformationREQUIRED

Request Query Parameters

FieldTypeRequiredDescriptionFormat Allowed
kindlyShiftIdStringShift's ID.Any string value
Example Query Parameters
?kindlyShiftId=e0b4a43800a24116ad269608ec0178d7

Response Status Codes

Status CodeDescription
200 - OKWhen the Shift details are retrieved successfully.
400 - Bad RequestWhen the request is invalid or missing required parameters.

Scenarios
• Missing API key
• Missing required fields
Shift does not exist
401 - UnauthorizedWhen the API key is incorrect.
420 -When the Shift is canceled.
500 - Internal Server ErrorWhen any exception occurred.

Success Response Format

Returns a JSON Returns a JSON object containing the information of the Shift.

FieldTypeDescription
kindlyEventIdStringEvent's ID.
startTimeLocalDateTimeThe start time of the Shift without time zone offset.
endTimeLocalDateTimeThe end time of the Shift without time zone offset.
openSlotsCountIntegerThe number of open slots of the Shift.
unknownUserCountIntegerThe number of non-Kindly Users estimated to attend the Shift.
kindlyKnownUserListArrayA list of registered Users who already have a Kindly account.
An Array of User Shift Registration objects.
kindlyInvitationListArrayA list of Invited Names in the Groups of the Shift.
An Array of Event Shift Invited Name objects.
partnerGroupListArrayA list of Groups created for the Shift.
An Array of Group objects.
Example Response Body
{
"kindlyEventId": "e0b4a43800a24116ad269608ec0178d7",
"startTimeLocal": "2022-12-10T23:02:00",
"endTimeLocal": "2022-12-11T00:54:00",
"openSlotsCount": 1,
"unknownUserCount": 1,
"kindlyKnownUserList":
[
{
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24"
}
],
"kindlyInvitationList":
[
{
"kindlyInvitationId": "10473963d373401fa1430096bfb38da7",
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24"
}
],
"partnerGroupList":
[
{
"kindlyPartnerGroupId": "d223d859edae404290fc6d79a393aa24",
"partnerGroupId": "0123456789abc",
"partnerGroupName": "The Cool Group",
"partnerGroupJoinCode": "abc123456",
"partnerGroupType": 4,
"kindlyUserId": "10473963d373401fa1430096bfb38da7",
"partnerGroupUserCount": 20,
"groupOpenUserSlots": 3,
"kindlyRegisteredUserCount": 10,
"partnerRegisteredUserCount": 5,
"kindlyInviteeUserCount": 2
}
]
}