Skip to main content

View / Create / Edit / Delete

Search tasks#

Searches tasks using flexible filters and returns basic information about each matching task together with its responses โ€” without executors, observers, forms, photo reports and attachments. Use this endpoint to quickly find the tasks you need and then request full data from the export endpoint below โ€” /connector/rpc/task_export_with_photos โ€” passing var_task_ids.
  • Deleted tasks and responses are included in the search results and are marked with task_deleted / response_deleted.
  • Responses are also matched by the modification date of their linked form instances, so filtering by var_response_modified_at_from / var_response_modified_at_to also catches responses whose forms were updated in the period โ€” convenient for incremental synchronization.

Request parameters:

Request ParameterTypeDescriptionRequired
var_task_idsInteger arrayThe array of task IDs. Make sure array braces {} are url encoded. Example: %7B162,163%7Dfalse
var_task_typesString arrayThe array of task types: COMMON, ROUTED, PHOTO_REPORT, SURVEY. Make sure array braces are url encoded.false
var_task_sub_typesString arrayThe array of task sub types. Make sure array braces {} are url encoded.false
var_task_statusesString arrayThe array of task statuses: OPEN, IN_PROGRESS, CLOSED. Make sure array braces are url encoded.false
var_task_rule_idsInteger arrayThe array of generation rule IDs. Only tasks created by these rules are returned. Make sure array braces {} are url encoded.false
var_task_application_idsInteger arrayThe array of application IDs. Make sure array braces {} are url encoded.false
var_task_created_date_fromTimestamp without time zoneThe start of the task creation date range, formatted as a timestamp without a time zone. Example: 2024-05-20T00:00:00false
var_task_created_date_toTimestamp without time zoneThe end of the task creation date range, formatted as a timestamp without a time zone.false
var_task_deadline_date_fromTimestamp without time zoneThe start of the task deadline date range, formatted as a timestamp without a time zone.false
var_task_deadline_date_toTimestamp without time zoneThe end of the task deadline date range, formatted as a timestamp without a time zone.false
var_task_modified_at_fromTimestamp without time zoneThe start of the task modification date range, formatted as a timestamp without a time zone.false
var_task_modified_at_toTimestamp without time zoneThe end of the task modification date range, formatted as a timestamp without a time zone.false
var_response_statusesString arrayThe array of response statuses. Make sure array braces {} are url encoded.false
var_response_idsInteger arrayThe array of response IDs. Make sure array braces {} are url encoded.false
var_response_modified_at_fromTimestamp without time zoneThe start of the response modification date range, formatted as a timestamp without a time zone.false
var_response_modified_at_toTimestamp without time zoneThe end of the response modification date range, formatted as a timestamp without a time zone.false

Examples

curl https://api.qvalon.com/v1/connector/rpc/task_search?var_task_modified_at_from=2024-05-20T00:00:00&var_task_modified_at_to=2024-05-25T00:00:00 \
--header 'Authorization: Bearer <your_token>'
200 OK
[
{
"task_id": 162,
"task_name": "Check product layout",
"task_type": "COMMON",
"task_sub_type": null,
"task_orgstruct_level": "SHOP",
"task_application_id": null,
"task_priority_id": null,
"task_author_id": 1,
"task_author_name": "John Vu",
"task_status": "CLOSED",
"task_create_date": "2024-05-20T09:00:00",
"task_planned_start_date": null,
"task_deadline_date": "2024-05-25T21:00:00",
"task_close_date": "2024-05-24T14:20:00",
"task_total_response_count": 1,
"task_closed_response_count": 1,
"task_parent_task_id": null,
"task_child_task_id": null,
"task_routed_from_qa_id": null,
"task_routed_to_user_id": null,
"task_routed_to_business_dir_id": null,
"task_routed_from_checklist_id": null,
"task_claim_count": 0,
"task_claim_done_count": 0,
"task_claim_reason_id": null,
"task_attachments_count": 2,
"task_need_approval": true,
"task_approved": true,
"task_approval_count": 1,
"task_approval_date": "2024-05-24T14:25:00",
"task_modified_at": "2024-05-24T14:25:00+00:00",
"custom_data": null,
"task_deleted": false,
"responses": [
{
"response_id": 449,
"response_task_id": 162,
"response_status": "CLOSED",
"response_start_date": "2024-05-21T10:00:00",
"response_close_date": "2024-05-24T14:20:00",
"response_autoclosed": false,
"response_autoclosed_reason": null,
"response_division_id": 28,
"response_division_name": "United States",
"response_region_id": 86,
"response_region_name": "Los Angeles",
"response_shop_id": 668,
"response_shop_name": "Store 01",
"response_attachments_count": 2,
"response_approved": true,
"response_approval_date": "2024-05-24T14:25:00",
"response_claim_count": 0,
"response_claim_closed_count": 0,
"response_claim_from_category_id": null,
"response_application_instance_id": null,
"response_modified_at": "2024-05-24T14:20:00",
"response_modified_by_executor_at": "2024-05-24T14:20:00",
"response_deleted": false
}
]
}
]

Get tasks with responses and attachments#

Returns tasks matching the query params together with their responses, executors, observers, linked form instances, photo report categories and executor attachments.
  • The amount of data returned by this endpoint is usually quite large, so we strongly recommend limiting the export period with var_task_modified_at_from / var_task_modified_at_toas much as possible, or first finding the tasks you need with the lightweight Search tasks endpoint and then exporting them by var_task_ids.
  • Use var_deleted to control whether deleted tasks and responses are returned. Deleted rows are marked with task_deleted / response_deleted.
  • Set var_show_empty_form_templates to true to also include form templates that are configured for a response but not yet filled, as empty entries in form_instances_by_templates.

Request parameters:

Request ParameterTypeDescriptionRequired
var_task_idsInteger arrayThe array of task IDs. Make sure array braces {} are url encoded. Example: %7B162,163%7Dfalse
var_task_typesString arrayThe array of task types: COMMON, ROUTED, PHOTO_REPORT, SURVEY. Make sure array braces are url encoded.false
var_task_sub_typesString arrayThe array of task sub types. Make sure array braces {} are url encoded.false
var_task_statusesString arrayThe array of task statuses: OPEN, IN_PROGRESS, CLOSED. Make sure array braces are url encoded.false
var_task_rule_idsInteger arrayThe array of generation rule IDs. Only tasks created by these rules are returned. Make sure array braces {} are url encoded.false
var_task_application_idsInteger arrayThe array of application IDs. Make sure array braces {} are url encoded.false
var_task_created_date_fromTimestamp without time zoneThe start of the task creation date range, formatted as a timestamp without a time zone. Example: 2024-05-20T00:00:00false
var_task_created_date_toTimestamp without time zoneThe end of the task creation date range, formatted as a timestamp without a time zone.false
var_task_deadline_date_fromTimestamp without time zoneThe start of the task deadline date range, formatted as a timestamp without a time zone.false
var_task_deadline_date_toTimestamp without time zoneThe end of the task deadline date range, formatted as a timestamp without a time zone.false
var_task_modified_at_fromTimestamp without time zoneThe start of the task modification date range, formatted as a timestamp without a time zone.false
var_task_modified_at_toTimestamp without time zoneThe end of the task modification date range, formatted as a timestamp without a time zone.false
var_response_statusesString arrayThe array of response statuses. Make sure array braces {} are url encoded.false
var_response_idsInteger arrayThe array of response IDs. Make sure array braces {} are url encoded.false
var_response_modified_at_fromTimestamp without time zoneThe start of the response modification date range, formatted as a timestamp without a time zone.false
var_response_modified_at_toTimestamp without time zoneThe end of the response modification date range, formatted as a timestamp without a time zone.false
var_deletedBooleanWhen set, filters by whether the task and its response are deleted. Omit to return both active and deleted tasks.false
var_show_empty_form_templatesBooleanWhen true, form templates configured for a response but not yet filled are included as empty entries in form_instances_by_templates. Default: falsefalse

Examples

curl https://api.qvalon.com/v1/connector/rpc/task_export_with_photos?var_task_ids=%7B162%7D \
--header 'Authorization: Bearer <your_token>'
200 OK
[
{
"task_id": 162,
"task_name": "Check product layout",
"task_description": "Make sure the product layout matches the planogram",
"task_type": "SURVEY",
"task_sub_type": null,
"task_orgstruct_level": "SHOP",
"task_application_id": null,
"task_priority_id": null,
"task_author_id": 1,
"task_author_name": "John Vu",
"task_status": "CLOSED",
"task_create_date": "2024-05-20T09:00:00",
"task_planned_start_date": null,
"task_deadline_date": "2024-05-25T21:00:00",
"task_close_date": "2024-05-24T14:20:00",
"task_total_response_count": 1,
"task_closed_response_count": 1,
"task_parent_task_id": null,
"task_child_task_id": null,
"task_routed_from_qa_id": null,
"task_routed_to_user_id": null,
"task_routed_to_business_dir_id": null,
"task_routed_from_checklist_id": null,
"task_claim_count": 0,
"task_claim_done_count": 0,
"task_claim_reason_id": null,
"task_attachments_count": 1,
"task_need_approval": true,
"task_approved": true,
"task_approval_count": 1,
"task_approval_date": "2024-05-24T14:25:00",
"task_modified_at": "2024-05-24T14:25:00+00:00",
"custom_data": null,
"task_deleted": false,
"responses": [
{
"response_id": 449,
"response_task_id": 162,
"response_status": "CLOSED",
"response_start_date": "2024-05-21T10:00:00",
"response_close_date": "2024-05-24T14:20:00",
"response_executor_comment": "Everything is fixed",
"response_start_latitude": 34.0522,
"response_start_longitude": -118.2437,
"response_stop_latitude": 34.0523,
"response_stop_longitude": -118.2438,
"response_autoclosed": false,
"response_autoclosed_reason": null,
"response_division_id": 28,
"response_division_name": "United States",
"response_region_id": 86,
"response_region_name": "Los Angeles",
"response_shop_id": 668,
"response_shop_name": "Store 01",
"response_attachments_count": 1,
"response_approved": true,
"response_approver_id": 1,
"response_approver_name": "John Vu",
"response_approval_date": "2024-05-24T14:25:00",
"response_claim_count": 0,
"response_claim_closed_count": 0,
"response_claim_from_category_id": null,
"response_application_instance_id": "e4a1c8f3-6b2d-4a9e-8f5c-771d3b6a9c02",
"response_executors": [
{
"executor_id": 1609,
"executor_name": "Madison"
}
],
"response_observers": [
{
"observer_id": 1615,
"observer_name": "Does John"
}
],
"form_instances_by_templates": [
{
"form_template_id": "a1e4f8b2-3c6d-4e1a-9f2b-77c5d8a1e001",
"form_template_name": "Issue report",
"form_instances": [
{
"form_instance_id": "b6d2c9a4-5e1f-4a3b-8c7d-512e9f4a6b02",
"form_answers": [
{
"form_question_id": "c3f7a1d5-8b2e-4c9a-af6d-912b3e7c5a03",
"form_question_original_id": "d9a4e2c6-1f5b-4a8d-9e3c-903f6a2b8c04",
"form_question_name": "Describe the issue",
"form_question_required": true,
"form_question_answers": null,
"form_question_file_answers": null,
"form_question_custom_answer": "Shelf was empty",
"form_question_comment": null,
"update_at": "2024-05-21T12:10:02"
}
]
}
]
}
],
"executor_attachments": [
{
"file_type": "image/jpeg",
"url": "https://example.qvalon.com/files/s1/example/sample.jpg",
"file_size": 204800,
"upload_date": "2024-05-21T12:05:00",
"original_file_name": "photo.jpg",
"file_source": "CAMERA",
"photo_report_category_id": null
}
],
"response_modified_at": "2024-05-24T14:20:00+00:00",
"response_modified_by_executor_at": "2024-05-24T14:20:00+00:00",
"response_deleted": false
}
]
}
]
curl https://api.qvalon.com/v1/connector/rpc/task_export_with_photos?var_task_ids=%7B163%7D \
--header 'Authorization: Bearer <your_token>'
200 OK
[
{
"task_id": 163,
"task_name": "Storefront photo report",
"task_description": "Take photos of the key store zones",
"task_type": "PHOTO_REPORT",
"task_sub_type": null,
"task_orgstruct_level": "SHOP",
"task_application_id": null,
"task_priority_id": null,
"task_author_id": 1,
"task_author_name": "John Vu",
"task_status": "OPEN",
"task_create_date": "2024-05-20T09:00:00",
"task_planned_start_date": null,
"task_deadline_date": "2024-05-25T21:00:00",
"task_close_date": null,
"task_total_response_count": 1,
"task_closed_response_count": 0,
"task_parent_task_id": null,
"task_child_task_id": null,
"task_routed_from_qa_id": null,
"task_routed_to_user_id": null,
"task_routed_to_business_dir_id": null,
"task_routed_from_checklist_id": null,
"task_claim_count": 0,
"task_claim_done_count": 0,
"task_claim_reason_id": null,
"task_attachments_count": 1,
"task_need_approval": false,
"task_approved": null,
"task_approval_count": 0,
"task_approval_date": null,
"task_modified_at": "2024-05-21T12:05:00+00:00",
"custom_data": null,
"task_deleted": false,
"responses": [
{
"response_id": 450,
"response_task_id": 163,
"response_status": "OPEN",
"response_start_date": "2024-05-21T10:00:00",
"response_close_date": null,
"response_executor_comment": null,
"response_start_latitude": 34.0522,
"response_start_longitude": -118.2437,
"response_stop_latitude": null,
"response_stop_longitude": null,
"response_autoclosed": false,
"response_autoclosed_reason": null,
"response_division_id": 28,
"response_division_name": "United States",
"response_region_id": 86,
"response_region_name": "Los Angeles",
"response_shop_id": 668,
"response_shop_name": "Store 01",
"response_attachments_count": 1,
"response_approved": null,
"response_approver_id": null,
"response_approver_name": null,
"response_approval_date": null,
"response_claim_count": 0,
"response_claim_closed_count": 0,
"response_claim_from_category_id": null,
"response_application_instance_id": null,
"response_executors": [
{
"executor_id": 1609,
"executor_name": "Madison"
}
],
"response_observers": [],
"photo_report_categories": [
{
"category_id": 501,
"category_name": "Entrance zone",
"category_description": "Photos of the entrance and window display",
"attachments_count": 1,
"executor_comment": null,
"skipped": false,
"skip_reason": null
}
],
"executor_attachments": [
{
"file_type": "image/jpeg",
"url": "https://example.qvalon.com/files/s1/example/entrance.jpg",
"file_size": 204800,
"upload_date": "2024-05-21T12:05:00",
"original_file_name": "entrance.jpg",
"file_source": "CAMERA",
"photo_report_category_id": 501
}
],
"response_modified_at": "2024-05-21T12:05:00+00:00",
"response_modified_by_executor_at": "2024-05-21T12:05:00+00:00",
"response_deleted": false
}
]
}
]

Create task#

Creates a new task.

Request body:

AttributeTypeDescriptionNullable
nameStringTask namefalse
taskTypeEnum of stringType of the task. Available types: COMMON, SURVEY, PHOTO_REPORTfalse
descriptionStringTask descriptionfalse
deadlineDateTimestamp in millisecondsTask deadline datefalse
executorsObjectObject that defines who the task is assigned to: the executor role and the mapping of store (object) ids to user ids. See Executors objectfalse
executorsCommentRequiredBooleanWhether the executor is required to leave a commentfalse
needApprovalBooleanWhether the task requires approval after completionfalse
isLoadPhotoFromGalleryProhibitedBooleanProhibit uploading photos from the galleryfalse
notificationPeriodEnum of stringFrequency of reminders for executors:
daily, weekly, deadline, dayBeforeDeadline
false
minAttachmentsCountIntegerMinimum number of attachments the executor must addfalse
notificationsList objectsCustom notification settings for the task.
See Notification object
true
customObserversList objectsCustom observers for the task.
See Observer object
true
observersEnabledBooleanWhether observers are enabled for the taskfalse
formTemplateIdStringIdentifier of the survey template.
Required for the SURVEY task type
true
taskCategoriesList objectsPhoto report categories. Filled in only for the PHOTO_REPORT task type โ€” each category is a separate photo section the executor fills in. See Task category object.true
priorityIdIntegerIdentifier of the task priority:
1 โ€” Urgent
2 โ€” High
3 โ€” Medium
4 โ€” Low
true
deadlineTimeEnabledBooleanWhether to take the time part of deadlineDate into account, not only the datetrue
plannedStartDateTimestamp in millisecondsPlanned start date of the tasktrue
plannedStartTimeEnabledBooleanWhether to take the time part of plannedStartDate into accounttrue
startBeforePlannedStartDateEnum of stringWhether the executor may start the task before plannedStartDate: YES, NOtrue
withManyExecutorsBooleanControls how responses are created when a store (object) has several matching executors.
true โ€” a single shared response is created per store for all its executors, so the task needs to be completed only once (useful when the work is physical and has to be done once).
false โ€” a separate response is created for each executor, and every executor must complete their own (useful when each employee has to act individually, e.g. fill in a survey or report course completion).
true
sendMailToTaskExecutorBooleanWhether to send an email notification to the executor. Default: truetrue
visibleFromDateTimestamp in millisecondsThe date from which the task becomes visible to the executortrue

Response

Returns Task object

Examples

curl --request POST https://api.qvalon.com/v1/tasks-manual/typed/ \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
-d '{"name":"test task","taskType":"COMMON","description":"test description","deadlineDate":1623790800965,"executors":{"executorRole":"SHOP","objectsToUsers":{"668":[1609]}},"executorsCommentRequired":true,"needApproval":true,"isLoadPhotoFromGalleryProhibited":true,"notificationPeriod":"daily","minAttachmentsCount":1,"notifications":[],"customObservers":[{"observerId":1615,"observerName":"Does John"}],"observersEnabled":true,"formTemplateId":""}'
200 OK
{
"attachmentsRequired": false,
"id": 162,
"version": 2,
"name": "test task",
"description": "test description",
"status": "OPEN",
"grouped": false,
"periodic": false,
"response": false,
"authorId": 1,
"authorName": "John Vu",
"executorName": "Madison",
"executors": [
{
"id": 1609,
"name": "Madison"
}
],
"observerName": "Does John",
"observers": [
{
"id": 1,
"name": "John Vu"
},
{
"id": 1615,
"name": "Does John"
}
],
"createDate": 1623749422616,
"totalCount": 1,
"closedCount": 0,
"taskType": "COMMON",
"userRole": "AUTHOR",
"deadlineDate": 1623877199965,
"responseList": [
{
"id": 449,
"taskId": 162,
"version": 0,
"status": "OPEN",
"executorId": 1609,
"executorName": "Madison",
"region": "Test region",
"regionId": 86,
"division": "Test division",
"divisionId": 28,
"overdue": false,
"attachmentsCount": 0,
"executorsCommentRequired": true,
"minAttachmentsCount": 1,
"executorRole": "SHOP",
"notificationPeriod": "daily",
"shopId": 668,
"shopName": "Store 01",
"labels": {},
"needApproval": true,
"approved": false,
"customObservers": [
{
"observerId": 1,
"observerName": "John Vu"
},
{
"observerId": 1615,
"observerName": "Does John"
}
],
"deleted": false
}
],
"isLoadPhotoFromGalleryProhibited": true,
"labels": {},
"notifications": [
{
"type": "CREATE",
"role": "EXECUTOR",
"push": true,
"email": true
},
{
"type": "CREATE",
"role": "OBSERVER",
"push": true,
"email": true
},
{
"type": "CLOSE",
"role": "AUTHOR",
"push": true,
"email": true
},
{
"type": "CLOSE",
"role": "OBSERVER",
"push": true,
"email": true
},
{
"type": "OVERDUE",
"role": "AUTHOR",
"push": true,
"email": true
},
{
"type": "OVERDUE",
"role": "EXECUTOR",
"push": true,
"email": true
},
{
"type": "OVERDUE",
"role": "OBSERVER",
"push": true,
"email": true
},
{
"type": "RETURN",
"role": "EXECUTOR",
"push": true,
"email": true
},
{
"type": "RETURN",
"role": "OBSERVER",
"push": true,
"email": true
},
{
"type": "UPDATE",
"role": "EXECUTOR",
"push": true,
"email": true
},
{
"type": "UPDATE",
"role": "OBSERVER",
"push": true,
"email": true
},
{
"type": "UPDATE",
"role": "AUTHOR",
"push": true,
"email": true
}
],
"claimCount": 0,
"claimDoneCount": 0,
"needApproval": true,
"approvalCount": 0,
"routedToExecutor": false,
"isOnlyOneRequired": true
}
curl --request POST https://api.qvalon.com/v1/tasks-manual/typed/ \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
-d '{"name":"Storefront photo report","taskType":"PHOTO_REPORT","description":"Take photos of the key store zones","deadlineDate":1623790800965,"executors":{"executorRole":"SHOP","objectsToUsers":{"668":[1609]}},"executorsCommentRequired":false,"needApproval":false,"isLoadPhotoFromGalleryProhibited":true,"notificationPeriod":"daily","minAttachmentsCount":1,"observersEnabled":false,"taskCategories":[{"name":"Entrance zone","description":"Photos of the entrance and window display","minAttachmentsCount":2,"needComment":false,"orderNumber":1},{"name":"Checkout zone","description":"Photos of the checkout area","minAttachmentsCount":1,"needComment":true,"orderNumber":2}]}'
200 OK
{
"id": 163,
"version": 0,
"name": "Storefront photo report",
"description": "Take photos of the key store zones",
"status": "OPEN",
"taskType": "PHOTO_REPORT",
"authorId": 1,
"authorName": "John Vu",
"executors": [
{
"id": 1609,
"name": "Madison"
}
],
"createDate": 1623749422616,
"deadlineDate": 1623877199965,
"totalCount": 1,
"closedCount": 0,
"isLoadPhotoFromGalleryProhibited": true,
"needApproval": false,
"taskCategories": [
{
"id": 501,
"name": "Entrance zone",
"minAttachmentsCount": 2,
"needComment": false,
"orderNumber": 1
},
{
"id": 502,
"name": "Checkout zone",
"minAttachmentsCount": 1,
"needComment": true,
"orderNumber": 2
}
],
"responseList": [
{
"id": 450,
"taskId": 163,
"status": "OPEN",
"executorId": 1609,
"executorName": "Madison",
"shopId": 668,
"shopName": "Store 01",
"minAttachmentsCount": 1,
"deleted": false
}
]
}

Create task by shop code#

Creates a task for one or more stores identified by their shop code, instead of by internal store/user ids as in Create task. Executors are resolved automatically: for every resolved store, the active SHOP-level user who supervises that store within one of the given businessDirections becomes the executor โ€” the request fails with 400 Bad Request if any shop code doesn't match an active store, or if no such supervisor is found for a store.

Request body:

AttributeTypeDescriptionNullable
nameStringTask namefalse
taskTypeEnum of stringType of the task. Available types: COMMON, SURVEY, PHOTO_REPORTfalse
descriptionStringTask descriptionfalse
deadlineDateTimestamp in millisecondsTask deadline datefalse
shopsString arrayShop codes of the stores to create the task for. Each code must match an active storefalse
businessDirectionsInteger arrayIdentifiers of business directions. For each store, the executor is the active SHOP-level user who supervises that store within one of these business directionsfalse
executorsCommentRequiredBooleanWhether the executor is required to leave a commentfalse
needApprovalBooleanWhether the task requires approval after completionfalse
isLoadPhotoFromGalleryProhibitedBooleanProhibit uploading photos from the galleryfalse
notificationPeriodEnum of stringFrequency of reminders for executors:
daily, weekly, deadline, dayBeforeDeadline
false
minAttachmentsCountIntegerMinimum number of attachments the executor must addfalse
notificationsList objectsCustom notification settings for the task.
See Notification object
true
customObserversList objectsCustom observers for the task.
See Observer object
true
observersEnabledBooleanWhether observers are enabled for the taskfalse
autoAssignObserversBooleanWhether to automatically add each executor's direct supervisor as an observer, in addition to customObserverstrue
formTemplateIdStringIdentifier of the survey template.
Required for the SURVEY task type
true
taskCategoriesList objectsPhoto report categories. Filled in only for the PHOTO_REPORT task type โ€” each category is a separate photo section the executor fills in. See Task category object.true
taskResponseCategoryLinksList objectsAlternative, per-store way to define PHOTO_REPORT categories: each entry pairs a store's shopSap with a categoryName and an optional externalUrl reference link. Referenced stores are automatically added to shops, and a matching entry is added to taskCategories for every distinct category name that isn't already theretrue
priorityIdIntegerIdentifier of the task priority:
1 โ€” Urgent
2 โ€” High
3 โ€” Medium
4 โ€” Low
true
deadlineTimeEnabledBooleanWhether to take the time part of deadlineDate into account, not only the datetrue
withManyExecutorsBooleanControls how responses are created when a store (object) has several matching executors.
true โ€” a single shared response is created per store for all its executors, so the task needs to be completed only once (useful when the work is physical and has to be done once).
false โ€” a separate response is created for each executor, and every executor must complete their own (useful when each employee has to act individually, e.g. fill in a survey or report course completion).
true
sendMailToTaskExecutorBooleanWhether to send an email notification to the executor. Default: truetrue
attachmentsString arrayURLs of files to download and attach to the task right after it is createdtrue

Response

Returns Task object

Examples

curl --request POST https://api.qvalon.com/v1/tasks-manual/create/ \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
-d '{"name":"Check product layout","taskType":"COMMON","description":"Make sure the product layout matches the planogram","deadlineDate":1623790800965,"shops":["351","352"],"businessDirections":[1003],"executorsCommentRequired":true,"needApproval":true,"isLoadPhotoFromGalleryProhibited":true,"notificationPeriod":"daily","minAttachmentsCount":1,"observersEnabled":false}'
200 OK
{
"id": 162,
"version": 0,
"name": "Check product layout",
"description": "Make sure the product layout matches the planogram",
"status": "OPEN",
"taskType": "COMMON",
"authorId": 1,
"authorName": "John Vu",
"executors": [
{
"id": 1609,
"name": "Madison"
},
{
"id": 1611,
"name": "Chris"
}
],
"createDate": 1623749422616,
"deadlineDate": 1623877199965,
"totalCount": 2,
"closedCount": 0,
"isLoadPhotoFromGalleryProhibited": true,
"needApproval": true,
"responseList": [
{
"id": 449,
"taskId": 162,
"status": "OPEN",
"executorId": 1609,
"executorName": "Madison",
"shopId": 664,
"shopName": "Store 01",
"minAttachmentsCount": 1,
"deleted": false
},
{
"id": 450,
"taskId": 162,
"status": "OPEN",
"executorId": 1611,
"executorName": "Chris",
"shopId": 671,
"shopName": "Store 02",
"minAttachmentsCount": 1,
"deleted": false
}
]
}

Edit task#

Updates an existing task. Only the fields you provide are updated โ€” omitted fields keep their current values.

Request body:

AttributeTypeDescriptionNullable
idIntegerTask identifierfalse
nameStringTask namefalse
descriptionStringTask descriptionfalse
deadlineDateTimestamp in millisecondsTask deadline datefalse
deadlineTimeEnabledBooleanWhether to take the time part of deadlineDate into account, not only the datetrue
plannedStartDateTimestamp in millisecondsPlanned start date of the tasktrue
plannedStartTimeEnabledBooleanWhether to take the time part of plannedStartDate into accounttrue
startBeforePlannedStartDateEnum of stringWhether the executor may start the task before plannedStartDate: YES, NOtrue
priorityIdIntegerIdentifier of the task priority:
1 โ€” Urgent
2 โ€” High
3 โ€” Medium
4 โ€” Low
true
newResponsesObjectNew executors to add to the task โ€” existing responses are not affected. See Executors objecttrue
notificationsList objectsCustom notification settings for the task.
See Notification object
true
customObserversList objectsCustom observers for the task.
See Observer object
true
executorsCommentRequiredBooleanWhether the executor is required to leave a commentfalse
needApprovalBooleanWhether the task requires approval after completionfalse
signatureRequiredBooleanWhether a digital signature is required to close the taskfalse
isLoadPhotoFromGalleryProhibitedBooleanProhibit uploading photos from the galleryfalse
notificationPeriodEnum of stringFrequency of reminders for executors:
daily, weekly, deadline, dayBeforeDeadline
false
minAttachmentsCountIntegerMinimum number of attachments the executor must addfalse
taskCategoriesList objectsPhoto report categories. Filled in only for the PHOTO_REPORT task type โ€” each category is a separate photo section the executor fills in. The update merges categories by id: existing categories are updated, new ones are added, and categories whose id is omitted are removed. See Task category object.true
deleteResponsesInteger arrayIdentifiers of responses to delete from the tasktrue
delegationEnableBooleanWhether the executor can delegate the task to another usertrue
editorIdIntegerIdentifier of the editor. Falls back to the current user if not providedtrue
returnClosedResponsesBooleanWhether to return closed responses back to worktrue
applicationSourceFileUidStringIdentifier of the application source filetrue
formTemplateIdStringIdentifier of the survey template for SURVEY tasks without an applicationtrue
customDataString (JSON)Custom data in raw JSON formattrue
visibleFromDateTimestamp in millisecondsThe date from which the task becomes visible to the executortrue

Response

Returns Task object

Examples

curl --request PATCH https://api.qvalon.com/v1/tasks-manual \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
-d '{"id":162,"name":"Updated task name","description":"Updated description","deadlineDate":1623877199965,"deadlineTimeEnabled":true,"isLoadPhotoFromGalleryProhibited":false,"executorsCommentRequired":true,"needApproval":false,"signatureRequired":false,"notificationPeriod":"weekly","minAttachmentsCount":2,"priorityId":2,"newResponses":{"executorRole":"SHOP","objectsToUsers":{"669":[1600,1601]}}}'
200 OK
{
"id": 162,
"version": 2,
"name": "Updated task name",
"description": "Updated description",
"status": "OPEN",
"grouped": false,
"periodic": false,
"authorId": 1,
"authorName": "John Vu",
"executors": [
{
"id": 1609,
"name": "Madison"
},
{
"id": 1600,
"name": "Jane"
}
],
"createDate": 1623749422616,
"totalCount": 2,
"closedCount": 0,
"taskType": "COMMON",
"userRole": "AUTHOR",
"deadlineDate": 1623877199965,
"responseList": [
{
"id": 449,
"taskId": 162,
"status": "OPEN",
"executorId": 1609,
"executorName": "Madison",
"shopId": 668,
"shopName": "Store 01",
"deleted": false
}
],
"isLoadPhotoFromGalleryProhibited": false,
"needApproval": false,
"notificationPeriod": "weekly",
"minAttachmentsCount": 2,
"isOnlyOneRequired": true
}
curl --request PATCH https://api.qvalon.com/v1/tasks-manual \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
-d '{"id":163,"name":"Storefront photo report","description":"Take photos of the key store zones","deadlineDate":1623877199965,"executorsCommentRequired":false,"needApproval":false,"signatureRequired":false,"isLoadPhotoFromGalleryProhibited":true,"notificationPeriod":"daily","minAttachmentsCount":1,"taskCategories":[{"id":501,"name":"Entrance zone","minAttachmentsCount":2,"needComment":false,"orderNumber":1},{"id":502,"name":"Checkout zone","minAttachmentsCount":1,"needComment":true,"orderNumber":2},{"name":"Storage area","minAttachmentsCount":1,"needComment":false,"orderNumber":3}]}'
200 OK
{
"id": 163,
"version": 1,
"name": "Storefront photo report",
"description": "Take photos of the key store zones",
"status": "OPEN",
"taskType": "PHOTO_REPORT",
"authorId": 1,
"authorName": "John Vu",
"executors": [
{
"id": 1609,
"name": "Madison"
}
],
"createDate": 1623749422616,
"deadlineDate": 1623877199965,
"totalCount": 1,
"closedCount": 0,
"isLoadPhotoFromGalleryProhibited": true,
"needApproval": false,
"taskCategories": [
{
"id": 501,
"name": "Entrance zone",
"minAttachmentsCount": 2,
"needComment": false,
"orderNumber": 1
},
{
"id": 502,
"name": "Checkout zone",
"minAttachmentsCount": 1,
"needComment": true,
"orderNumber": 2
},
{
"id": 503,
"name": "Storage area",
"minAttachmentsCount": 1,
"needComment": false,
"orderNumber": 3
}
],
"responseList": [
{
"id": 450,
"taskId": 163,
"status": "OPEN",
"executorId": 1609,
"executorName": "Madison",
"shopId": 668,
"shopName": "Store 01",
"minAttachmentsCount": 1,
"deleted": false
}
]
}

Delete task#

Returns code status

Examples

curl --request DELETE https://api.qvalon.com/v1/tasks-manual/162 \
--header 'Authorization: Bearer <your_token>'
200 OK
{}