> For the complete documentation index, see [llms.txt](https://docs.projetly.ai/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.projetly.ai/home/api-reference/calendar.md).

# Calendar

## All Notifications

> This endpoint is used to fetch all notifications in the current organization

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}},"schemas":{"ProjetlyCalendar":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``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)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"calendar_id":{"type":"string","maxLength":25},"title":{"type":"string"},"class_name":{"type":"string"},"location":{"type":"string"},"description":{"type":"string"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"users":{"type":"string","readOnly":true},"optional_users":{"type":"string","readOnly":true},"all_day":{"type":"boolean"},"extended_props":{"type":"object","additionalProperties":{}},"link":{"type":"string"},"repeat":{"type":"object","additionalProperties":{}},"project":{"type":"string"},"milestone_id":{"type":"string","nullable":true,"maxLength":25},"is_video_conference":{"type":"boolean"},"video_conference_type":{"type":"string"},"timezone":{"type":"object","additionalProperties":{}},"is_meeting_cancelled":{"type":"boolean"},"cancel_note":{"type":"string"},"attendees":{"type":"string","readOnly":true},"push_to_google":{"type":"boolean"},"push_to_microsoft":{"type":"boolean"}},"required":["attendees","calendar_id","optional_users","title","users"]}}},"paths":{"/api/calendar/info/":{"get":{"operationId":"calendar_info_list","description":"This endpoint is used to fetch all notifications in the current organization","summary":"All Notifications","parameters":[{"in":"query","name":"items_per_page","schema":{"type":"integer"},"description":"Items Per Page","required":true},{"in":"query","name":"page","schema":{"type":"integer"},"description":"Page Number","required":true},{"in":"query","name":"reverse","schema":{"type":"boolean"},"description":"Sorting Order"},{"in":"query","name":"sort","schema":{"type":"string"},"description":"Sorting Key"}],"tags":["Calendar"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjetlyCalendar"}}}},"description":""}}}}}}
```

## Creates a new item

> This endpoint is used to save a new item for the current organization

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}}},"paths":{"/api/calendar/info/":{"post":{"operationId":"calendar_info_create","description":"This endpoint is used to save a new item for the current organization","summary":"Creates a new item","tags":["Calendar"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Gets a meeting with the given id

> This endpoint is used to fetch a meeting detail for the current organization

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}},"schemas":{"ProjetlyCalendar":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``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)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"calendar_id":{"type":"string","maxLength":25},"title":{"type":"string"},"class_name":{"type":"string"},"location":{"type":"string"},"description":{"type":"string"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"users":{"type":"string","readOnly":true},"optional_users":{"type":"string","readOnly":true},"all_day":{"type":"boolean"},"extended_props":{"type":"object","additionalProperties":{}},"link":{"type":"string"},"repeat":{"type":"object","additionalProperties":{}},"project":{"type":"string"},"milestone_id":{"type":"string","nullable":true,"maxLength":25},"is_video_conference":{"type":"boolean"},"video_conference_type":{"type":"string"},"timezone":{"type":"object","additionalProperties":{}},"is_meeting_cancelled":{"type":"boolean"},"cancel_note":{"type":"string"},"attendees":{"type":"string","readOnly":true},"push_to_google":{"type":"boolean"},"push_to_microsoft":{"type":"boolean"}},"required":["attendees","calendar_id","optional_users","title","users"]}}},"paths":{"/api/calendar/info/{id}/":{"get":{"operationId":"calendar_info_retrieve","description":"This endpoint is used to fetch a meeting detail for the current organization","summary":"Gets a meeting with the given id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Calendar"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}}},"description":""}}}}}}
```

## PUT /api/calendar/info/{id}/

> API endpoint that allows meeting calendar to be created, viewed, deleted or edited.

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}},"schemas":{"ProjetlyCalendar":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``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)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"calendar_id":{"type":"string","maxLength":25},"title":{"type":"string"},"class_name":{"type":"string"},"location":{"type":"string"},"description":{"type":"string"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"users":{"type":"string","readOnly":true},"optional_users":{"type":"string","readOnly":true},"all_day":{"type":"boolean"},"extended_props":{"type":"object","additionalProperties":{}},"link":{"type":"string"},"repeat":{"type":"object","additionalProperties":{}},"project":{"type":"string"},"milestone_id":{"type":"string","nullable":true,"maxLength":25},"is_video_conference":{"type":"boolean"},"video_conference_type":{"type":"string"},"timezone":{"type":"object","additionalProperties":{}},"is_meeting_cancelled":{"type":"boolean"},"cancel_note":{"type":"string"},"attendees":{"type":"string","readOnly":true},"push_to_google":{"type":"boolean"},"push_to_microsoft":{"type":"boolean"}},"required":["attendees","calendar_id","optional_users","title","users"]}}},"paths":{"/api/calendar/info/{id}/":{"put":{"operationId":"calendar_info_update","description":"API endpoint that allows meeting calendar to be created, viewed, deleted or edited.","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Calendar"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}}},"description":""}}}}}}
```

## Deletes the meeting with the given id

> This endpoint is used to delete an meeting for the current organization

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}}},"paths":{"/api/calendar/info/{id}/":{"delete":{"operationId":"calendar_info_destroy","description":"This endpoint is used to delete an meeting for the current organization","summary":"Deletes the meeting with the given id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Calendar"],"responses":{"204":{"description":"No response body"}}}}}}
```

## GET /api/calendar/info/options/

> API endpoint that allows meeting calendar to be created, viewed, deleted or edited.

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}},"schemas":{"ProjetlyCalendar":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``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)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"calendar_id":{"type":"string","maxLength":25},"title":{"type":"string"},"class_name":{"type":"string"},"location":{"type":"string"},"description":{"type":"string"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"users":{"type":"string","readOnly":true},"optional_users":{"type":"string","readOnly":true},"all_day":{"type":"boolean"},"extended_props":{"type":"object","additionalProperties":{}},"link":{"type":"string"},"repeat":{"type":"object","additionalProperties":{}},"project":{"type":"string"},"milestone_id":{"type":"string","nullable":true,"maxLength":25},"is_video_conference":{"type":"boolean"},"video_conference_type":{"type":"string"},"timezone":{"type":"object","additionalProperties":{}},"is_meeting_cancelled":{"type":"boolean"},"cancel_note":{"type":"string"},"attendees":{"type":"string","readOnly":true},"push_to_google":{"type":"boolean"},"push_to_microsoft":{"type":"boolean"}},"required":["attendees","calendar_id","optional_users","title","users"]}}},"paths":{"/api/calendar/info/options/":{"get":{"operationId":"calendar_info_options_retrieve","description":"API endpoint that allows meeting calendar to be created, viewed, deleted or edited.","tags":["Calendar"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}}},"description":""}}}}}}
```

## Gets a meeting with the given source\_ref\_id

> This endpoint is used to fetch a meeting detail for the current organization by external source\_ref\_id

```json
{"openapi":"3.0.3","info":{"title":"Projetly API","version":"1.0.0"},"servers":[{"url":"https://api.app.projetly.io"}],"security":[{"bearerAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained from /api/login/. Pass as: Authorization: Bearer <token>"}},"schemas":{"ProjetlyCalendar":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``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)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"calendar_id":{"type":"string","maxLength":25},"title":{"type":"string"},"class_name":{"type":"string"},"location":{"type":"string"},"description":{"type":"string"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"users":{"type":"string","readOnly":true},"optional_users":{"type":"string","readOnly":true},"all_day":{"type":"boolean"},"extended_props":{"type":"object","additionalProperties":{}},"link":{"type":"string"},"repeat":{"type":"object","additionalProperties":{}},"project":{"type":"string"},"milestone_id":{"type":"string","nullable":true,"maxLength":25},"is_video_conference":{"type":"boolean"},"video_conference_type":{"type":"string"},"timezone":{"type":"object","additionalProperties":{}},"is_meeting_cancelled":{"type":"boolean"},"cancel_note":{"type":"string"},"attendees":{"type":"string","readOnly":true},"push_to_google":{"type":"boolean"},"push_to_microsoft":{"type":"boolean"}},"required":["attendees","calendar_id","optional_users","title","users"]}}},"paths":{"/api/calendar/info/source-ref/":{"get":{"operationId":"calendar_info_source_ref_retrieve","description":"This endpoint is used to fetch a meeting detail for the current organization by external source_ref_id","summary":"Gets a meeting with the given source_ref_id","parameters":[{"in":"query","name":"source_ref_id","schema":{"type":"string"},"description":"External event reference id","required":true}],"tags":["Calendar"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjetlyCalendar"}}},"description":""}}}}}}
```
