Projects
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.
trueGET /api/project/info/?items_per_page=1&page=1 HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}
]JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/project/info/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1558
{
"account": {
"description": "Car Manufacturing Company",
"account_name": "Tesla",
"region": "Texas",
"vertical": "Automotive",
"segment": "Renewable Energy",
"website_url": "https://www.tesla.com",
"customer": {
"full_name": "Elon Musk",
"email": "elon@test.com",
"phone": "+120112123456",
"user_id": "12121323231"
},
"logo": []
},
"project": {
"project_name": "TestX",
"project_template": {
"template_name": "IT Support",
"template_id": "1224235232",
"template_config": {
"stages": [
{
"stage_id": "1",
"name": "Brainstorming session",
"color": "#FCEAEA",
"status": {
"status_id": 3,
"status_key": "completed",
"status_name": "Completed"
}
},
{
"stage_id": "2",
"name": "Kick-off call",
"color": "#FCEAEA",
"status": {
"status_id": 3,
"status_key": "completed",
"status_name": "Completed"
}
},
{
"stage_id": "3",
"name": "Getting feedback",
"color": "#EEFAF2",
"status": {
"status_id": 2,
"status_key": "in_progress",
"status_name": "In Progress"
}
},
{
"stage_id": "4",
"name": "high fidelity wireframes",
"color": "#FCEAEA",
"status": {
"status_id": 2,
"status_key": "in_progress",
"status_name": "In Progress"
}
},
{
"stage_id": "",
"name": "Test12",
"color": "#e7f1f7",
"status": {
"status_id": "",
"status_key": "",
"status_name": ""
}
}
]
}
},
"start_date": "2024-05-21T18:30:00.000Z",
"due_date": "2025-05-27T18:30:00.000Z",
"forecasted_date": "2025-05-12T18:30:00.000Z",
"show_forecasted_date": true,
"revenue": "1000",
"is_arr": true,
"project_fee": "190012",
"project_owner": {
"is_owner": false,
"first_name": "Anita",
"middle": "Dakota",
"user_id": "2342135",
"last": "Weber",
"profile_image": "assets/images/users/avatar-8.jpg",
"email": "Jett_Emard20@example.com",
"phone_number": "363-334-0768 x413"
}
}
}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.
trueGET /api/project/info/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
PUT /api/project/info/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 90
{
"name": "Slack",
"description": "A cloud based team communication platform for enterprises"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
DELETE /api/project/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.
trueSerializer 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.
truePOST /api/project/info/{id}/assign-partner-owner/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/custom-fields/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePUT /api/project/info/{id}/custom-fields/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
DELETE /api/project/info/{id}/custom-fields/{field_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.
trueGET /api/project/info/{id}/customer-invite-status/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/{id}/deal-memory/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/deal-memory/detect-topics/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/deal-memory/rephrase/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/deal-memory/save/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/{id}/partner-invite-status/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/send-customer-invite/{user_id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/send-customer-invites/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/send-partner-invite/{user_id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/send-partner-invites/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/{id}/widget-settings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/widget-settings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePUT /api/project/info/{id}/widget-settings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/{id}/widget-settings/rotate-key/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/action/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Account ID
Number of activities to fetch
Offset for pagination
Project 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.
trueGET /api/project/info/activities/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/deals/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/deals-bulk-delete/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
External deal ID (Salesforce ref_deal_id or HubSpot hubspot_deal_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.
truePOST /api/project/info/deals-del-ref/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 22
{
"ref_deal_id": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/deals-options/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/getduedata/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/milestones/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/project_owner/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/remove-partner-org/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/settings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/share_context/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueGET /api/project/info/summary/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}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.
trueSerializer 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.
truePOST /api/project/info/update_position/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 916
{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"visible_to_all": true,
"account_id": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"pipeline_id": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}{
"project_id": "text",
"project_name": "text",
"description": "text",
"start_date": "2026-01-01T00:00:00.000Z",
"due_date": "2026-01-01T00:00:00.000Z",
"project_score": "text",
"tasks_count": 1,
"milestones_count": 1,
"phase": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tags": [],
"project_manager": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"is_arr": true,
"revenue": 1,
"show_forecasted_date": true,
"forecasted_date": "2026-01-01T00:00:00.000Z",
"project_fee": 1,
"project_owner": "text",
"status": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_id": "text",
"currency_unit": "text",
"stages": "text",
"project_team": "text",
"visible_to_all": true,
"account_id": "text",
"insights": "text",
"current_stage": "text",
"milestone_status": "text",
"recent_activities": "text",
"time_left": "text",
"time_spent": "text",
"customer_project_owner": "text",
"partner_orgs": "text",
"project_type_str": "text",
"project_type": "text",
"billing_model": "text",
"billing_frequency": "text",
"hourly_rate": 1,
"monthly_rate": 1,
"expected_onboarding_fee": 1,
"project_duration": 1,
"external_map": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"template_name": "text",
"template_desc": "text",
"pipeline_id": "text",
"calculated_revenue": "text",
"object_source": "text",
"current_milestone_id": "text",
"position": 1,
"expected_deal_value": 1,
"deal_resources": 1,
"contract_duration": 1,
"pipeline_stages": "text",
"current_pipe_stage": "text",
"formatted_deal_value": "text",
"formatted_revenue": "text",
"formatted_other_revenue": "text",
"other_revenue": "text",
"custom_fields": [],
"created_by": "text",
"invite_type": "text"
}Last updated