Contacts
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Items Per Page
Page Number
Sorting Order
Sorting Key
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/?items_per_page=1&page=1 HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}
]JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/contact/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"full_name": "John Doe",
"primary_email": "john.doe@example.com"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
PUT /api/contact/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 106
{
"contact_id": "existing_contact_id",
"full_name": "John Doe",
"primary_email": "john.doe.updated@example.com"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
DELETE /api/contact/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/{id}/completed-meetings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Cursor for next page
Items Per Page
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/{id}/deals/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Cursor for next page
Items Per Page
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/{id}/projects/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Items Per Page
Serializer for Documents.
Recognized primitve fields:
* ``StringField``
* ``URLField``
* ``EmailField``
* ``IntField``
* ``LongField``
* ``FloatField``
* ``DecimalField``
* ``BooleanField``
* ``DateTimeField``
* ``ComplexDateTimeField``
* ``ObjectIdField``
* ``SequenceField`` (assumes it has integer counter)
* ``UUIDField``
* ``GeoPointField``
* ``GeoJsonBaseField`` (all those fields)
* ``DateField``
Compound fields: ListField and DictField are mapped to corresponding DRF fields, with respect to nested field specification.
The ReferenceField is handled like ForeignKey in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as str(id)).
For EmbeddedDocumentField also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.
Generic fields GenericReferenceField and GenericEmbeddedDocumentField are handled by their own with corresponding serializer fields.
Not well supported or untested:
``FileField``
``ImageField``
``BinaryField``
All other fields are mapped to DocumentField and probably will work wrong.
GET /api/contact/{id}/tasks/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "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.
GET /api/contact/{id}/upcoming-meetings/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
GET /api/contact/activities/ 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
No response body
No content
POST /api/contact/bulk-delete/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/contact/bulk-publish/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}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.
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.
POST /api/contact/del_department/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 779
{
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"associated_deals": [],
"lead_status": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text"
}{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "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.
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.
POST /api/contact/del_seniority_level/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 779
{
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"associated_deals": [],
"lead_status": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text"
}{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "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.
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.
POST /api/contact/department/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 779
{
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"associated_deals": [],
"lead_status": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text"
}{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "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.
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.
POST /api/contact/dropdown/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 779
{
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"associated_deals": [],
"lead_status": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text"
}{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
GET /api/contact/field-config/ 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
No response body
No content
PUT /api/contact/field-config/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/contact/import/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
GET /api/contact/options/ 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.
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.
POST /api/contact/seniority-level/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 779
{
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"associated_deals": [],
"lead_status": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text"
}{
"id": "text",
"contact_id": "text",
"display_id": "text",
"full_name": "text",
"profile_image": "text",
"profile_image_url": "text",
"primary_email": "text",
"company": "text",
"lead_source": "text",
"contact_owner": "text",
"associated_deals": [],
"lead_status": "text",
"person_category": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"contact_stage": "text",
"is_draft": true,
"job_title": "text",
"department": "text",
"location": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"language": "text",
"seniority_level": "text",
"buying_role": "text",
"influence_level": 1,
"interest_level": 1,
"preferred_communication_channel": "text",
"do_not_contact": "text",
"phone": "text",
"whatsapp_number": "text",
"campaign": "text",
"timezone": "text",
"signoff_authority": "text",
"lead_score": 1,
"last_activity_date": "2026-01-01T00:00:00.000Z",
"linkedin_url": "text",
"twitter_url": "text",
"linked_user": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"reports_to": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reporting_hierarchy_level": 1,
"reporting_confidence": 1,
"reporting_source": "text",
"associated_deal_project": "text",
"login_info": "text"
}Last updated