Calendar
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Items Per Page
Page Number
Sorting Order
Sorting Key
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/calendar/info/?items_per_page=1&page=1 HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"users": "text",
"optional_users": "text",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"attendees": "text",
"push_to_google": true,
"push_to_microsoft": true
}
]JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/calendar/info/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/calendar/info/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"users": "text",
"optional_users": "text",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"attendees": "text",
"push_to_google": true,
"push_to_microsoft": true
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
PUT /api/calendar/info/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 540
{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"push_to_google": true,
"push_to_microsoft": true
}{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"users": "text",
"optional_users": "text",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"attendees": "text",
"push_to_google": true,
"push_to_microsoft": true
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
DELETE /api/calendar/info/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/calendar/info/options/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"users": "text",
"optional_users": "text",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"attendees": "text",
"push_to_google": true,
"push_to_microsoft": true
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
External event reference id
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/calendar/info/source-ref/?source_ref_id=text HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"calendar_id": "text",
"title": "text",
"class_name": "text",
"location": "text",
"description": "text",
"start": "2026-01-01T00:00:00.000Z",
"end": "2026-01-01T00:00:00.000Z",
"users": "text",
"optional_users": "text",
"all_day": true,
"extended_props": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"link": "text",
"repeat": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"project": "text",
"milestone_id": "text",
"is_video_conference": true,
"video_conference_type": "text",
"timezone": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_meeting_cancelled": true,
"cancel_note": "text",
"attendees": "text",
"push_to_google": true,
"push_to_microsoft": true
}Last updated