Documents
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/?items_per_page=1&page=1 HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}
]JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1563
{
"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": []
},
"document": {
"document_name": "TestX",
"document_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,
"document_fee": "190012",
"document_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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/{id}/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
PUT /api/documents/{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/documents/{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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/activities/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/analytics/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/bulkdelete/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/chunked-upload/chunk/ 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/documents/chunked-upload/complete/ 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/documents/chunked-upload/init/ 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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/chunked-upload/status/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/decline-signature/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/download/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
Document attachment ID
Email of the signer whose signed document to download
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/download-signed/?attachment_id=text&signer_email=text HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/engagement/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/initiate-esign/ 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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/options/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/ownership/accept/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"transfer_token": "uuid-token"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/ownership/initiate/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 47
{
"attach_id": "doc_123",
"to_user_id": "user_456"
}No response body
No content
JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
POST /api/documents/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
No response body
No content
POST /api/documents/save-signature-template/ 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/documents/send-for-signature/ 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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/send-reminder/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/share/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/share/copy-link/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/share/email/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
GET /api/documents/signature-builder-token/ 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/documents/signature-webhook/ 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
GET /api/documents/signer-slug/ 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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/tag/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/tag_delete/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}JWT token obtained from /api/login/. Pass as: Authorization: Bearer
No response body
No content
GET /api/documents/template-roles/ 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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
POST /api/documents/validate/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1441
{
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}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.
truetruedraft- draftpublished- published
nonenone- nonepending- pendingpartial- partialsigned- signeddeclined- declined
edit- editsignature- signature
GET /api/documents/versions/ HTTP/1.1
Host: api.app.projetly.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"attach_id": "text",
"organization": "text",
"module_id": 1,
"module_name": "text",
"sub_module": "text",
"storage_type": "text",
"reference_id": "text",
"account_id": "text",
"file_name": "text",
"zip_file_name": "text",
"file_type": "text",
"file_size": 1,
"file_path": "text",
"file_icon": "text",
"version": 1,
"description": "text",
"creation_time": "2026-01-01T00:00:00.000Z",
"last_update_time": "2026-01-01T00:00:00.000Z",
"is_deleted": true,
"created_by": "text",
"is_private": true,
"show_download_icon": true,
"tags": [],
"private_users": [],
"parent_attach_id": "text",
"show_in_document": true,
"document_name": "text",
"latest_version": true,
"view_count": 1,
"download_count": 1,
"share_count": 1,
"in_line_type": 1,
"file_hash": "text",
"public_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"external_file_url": "text",
"menu_type": "text",
"editorjs_content": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"editor_html_content": "text",
"is_editorjs_document": true,
"document_status": "published",
"published_at": "2026-01-01T00:00:00.000Z",
"signature_status": "none",
"signatures_required": 1,
"signatures_completed": 1,
"signature_enabled": true,
"external_template_id": 1,
"external_template_slug": "text",
"external_frozen_template_id": 1,
"external_frozen_template_slug": "text",
"external_submission_id": 1,
"signature_recipients": [],
"external_signed_document_url": "text",
"external_audit_log_url": "text",
"signed_at": "2026-01-01T00:00:00.000Z",
"is_signed_version": true,
"original_attach_id": "text",
"version_type": "edit"
}Last updated