(Quick Reference)
65 Surveys - Reference Documentation
Version: 2.1
65 Surveys
65.1 List
Service: list of surveys
Description: This web service returns a json list of surveys.
URL:
https://BASE_URL/api/VERSION/surveys
Method: GET
Parameters:
Pagination parameters:
Name | Description | Type | Required | Possible values |
---|
max | Limits the number of resources requested to return. | Integer | no | |
offset | Tells where to start returning records from the entire set of results. | Integer | no | |
order | Orders ascending or descending. | Integer | no | asc,desc |
sort | Orders the results by the specified field. | String | no | |
The max
parameter is set to 100
by default.
Filters parameters:
Name | Description | Type | Required | Example values |
---|
dateCreated_gt | Filters by the resource's creation date time and operator greater than | Date | no | 2016-08-15T14:52:48Z |
dateCreated_gte | Filters by the resource's creation date time and operator greater than or equal | Date | no | |
dateCreated_lt | Filters by the resource's creation date time and operator less than | Date | no | |
dateCreated_lte | Filters by the resource's creation date time and operator less than or equal | Date | no | |
lastUpdated_gt | Filters by the resource's last-modified date time and operator greater than | Date | no | |
lastUpdated_gte | Filters by the resource's last-modified date time and operator greater than or equal | Date | no | |
lastUpdated_lt | Filters by the resource's last-modified date time and operator less than | Date | no | |
lastUpdated_lte | Filters by the resource's last-modified date time and operator less than or equal | Date | no | |
name | Wildcard search by the resource's name | String | no | |
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)
Success case: response.status=200
{
"paging": {
"total": 3,
"max": 100,
"offset": 0,
"previous": null,
"next": null
},
"data": [
{
"id": 1,
"name": "Survey1",
"description": "Description Survey1",
"isPublic": false,
"status": false,
"organization": "entity1",
"dateCreated": "2016-08-23T09:39:11Z",
"lastUpdated": "2016-08-23T09:42:12Z",
"answerOnce": true,
"showAllAtOnce": false,
"users": []
"questions": [
{
"id": 1,
"href": "/api/v1.0/questions/1"
}
]
},
{
"id": 2,
"name": "Survey2",
"description": "Description Survey2",
"isPublic": true,
"status": true,
"organization": "entity1",
"dateCreated": "2016-08-29T09:39:11Z",
"lastUpdated": "2016-08-29T09:39:11Z",
"answerOnce": false,
"showAllAtOnce": false,
"users": []
},
{
"id": 67,
"name": "Survey3",
"description": "the best decision to choose",
"isPublic": false,
"status": true,
"organization": "entity1",
"dateCreated": "2016-08-31T10:45:34Z",
"lastUpdated": "2016-08-31T10:45:34Z",
"answerOnce": true,
"showAllAtOnce": false,
"users": [
{
"id": 2,
"reference": "R001",
"firstName": "SADOK",
"lastName": "CHEBIL",
"href": "/api/v1.0/users/2"
},
{
"id": 3,
"reference": "R002",
"firstName": "LUFY",
"lastName": "MONKEYD",
"href": "/api/v1.0/users/3"
}
]
"questions": []
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param",
"error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
"error": "invalid_datetime_format",
"error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
65.2 Show
Service: Show a survey
Description: Returns the requested survey in json format when successful.
URL:
https://BASE_URL/api/VERSION/surveys/{id}
Method: GET
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The unique numerical ID of the desired survey | Long | yes | 123 |
Success Output
Success case: response.status=200
{
"id": 69,
"name": "Survey of salary",
"description": "describe you point of vue",
"isPublic": false,
"status": true,
"organization": "entity1",
"dateCreated": "2016-08-31T10:47:29Z",
"lastUpdated": "2016-08-31T10:47:29Z",
"answerOnce": true,
"showAllAtOnce": false,
"users": [
{
"id": 3,
"reference": "R002",
"firstName": "LUFY",
"lastName": "MONKEYD",
"href": "/api/v1.0/users/3"
}
]
"questions": []
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The survey with the id 35 doesn't exist."
}
65.3 Create
Service: Create a survey
Description: this web service is used in order to create a survey and added into the data base and finally returns the created instance in JSON format.
URL:
https://BASE_URL/api/VERSION/surveys
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Possible values |
---|
name | the name of the survey | String | yes | |
description | it contains the description of the survey | String | no | |
enabled | It indicates the status of the survey | Boolean | no | true, false |
isPublic | it indicate if the survey is destined to a specified users or not | Boolean | no | true, false |
users | the list of users for private survey | List | - | [18,19] |
answerOnce | It indicated if the survey can be answered just one time or not set to true by default | Boolean | no | true, false |
showAllAtOnce | It indicated if the survey questions will be showed all at once or not set to false by default | Boolean | no | true, false |
useExternalId | By default, it is set to false. set it to true if you want to use external ids. | Boolean | no | true , false |
the default value of enabled and isPublic is set to false
Success Output
Success case: response.status = 201
{
"id": 71,
"name": "Survey of quality",
"description": "this survey contains some questions about the quality of our product",
"isPublic": false,
"status": true,
"organization": "entity1",
"dateCreated": "2016-08-31T16:10:21Z",
"lastUpdated": "2016-08-31T16:10:21Z",
"answerOnce": true,
"showAllAtOnce": false,
"users": [
{
"id": 3,
"reference": "R002",
"firstName": "LUFY",
"lastName": "MONKEYD",
"href": "/api/v1.0/users/3"
},
{
"id": 2,
"reference": "R001",
"firstName": "SADOK",
"lastName": "CHEBIL",
"href": "/api/v1.0/users/2"
}
]
"questions": []
}
Failure Output
Failure case:response.status = 400
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: answerOnce (must be Boolean)"
}
{
"error": "invalid_param_type",
"error_description": "The type of parameter users you provided is not valid for this request."
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The user with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
}
65.4 Update
Service: Update a survey
Description: this web service is used in order to update an existing survey to the data base and finally returns the updated instance in JSON format.
URL:
https://BASE_URL/api/VERSION/surveys/{id}
Method: PUT
Request content type: application/json
Parameters:
Name | Description | Type | Required | Possible values |
---|
id | id of the desired record to update | Long | Yes | 777 |
name | the name of the survey | String | yes | |
description | it contains the description of the survey | String | no | |
enabled | It indicates the status of the survey | Boolean | no | true, false |
isPublic | it indicate if the survey is destined to a specified users or not | Boolean | no | true, false |
answerOnce | It indicated if the survey can be answered just one time or not set to true by default | Boolean | no | true, false |
showAllAtOnce | It indicated if the survey questions will be showed all at once or not set to false by default | Boolean | no | true, false |
users | the list of users for private survey | List | - | [18,19] |
useExternalId | By default, it is set to false. set it to true if you want to use external ids. | Boolean | no | true , false |
A survey can only be update if the is no answers to the questions related to it
Success Output
Success case: response.status = 200
{
"id": 71,
"name": "Survey of productivity",
"description": "this survey contains some questions about the productivity of our product",
"isPublic": false,
"status": true,
"organization": "entity1",
"dateCreated": "2016-08-31T16:10:21Z",
"lastUpdated": "2016-08-31T16:10:21Z",
"answerOnce": true,
"showAllAtOnce": false,
"users": [
{
"id": 3,
"reference": "R002",
"firstName": "LUFY",
"lastName": "MONKEYD",
"href": "/api/v1.0/users/3"
},
{
"id": 2,
"reference": "R001",
"firstName": "SADOK",
"lastName": "CHEBIL",
"href": "/api/v1.0/users/2"
}
]
"questions": []
}
Failure Output
Failure case:response.status = 400
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "The type of parameter users you provided is not valid for this request."
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: answerOnce (must be Boolean)"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "update_not_authorized",
"error_description": "Survey with answers could not be updated"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The user with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
}
65.5 Delete
Service: Delete a survey
Description: This web service is used in order to delete an existing survey instance.
URL:
https://BASE_URL/api/VERSION/surveys/{id}
Method: DELETE
Parameters:
Name | Description | Type | Required | Examples values |
---|
id | The numerical ID of the desired survey | Long | Yes | 123 |
Success Output
Success case: response.status=200
{
"success": "true",
"success_description": "Instance deleted successfully"
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
{
"error": "delete_failed",
"error_description": "Failed to delete instance"
}
{
"error": "delete_not_authorized",
"error_description": "Survey with answers can not be deleted"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The survey with the id 123 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}