This documentation aims to provide all the information you need to work with our API.
Generate more by postman
Your Token
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by create an account and go to the login page to Generate API token.
Account Endpoint
Get the roles associated to the user
represent the id of user for witch role ought to be returned.
curl --request GET \
--get "http://localhost:8000/api/v1/user/1/roles" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"act_as_global_admin": true,
"voter_messages_count": null
},
{
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"act_as_global_admin": true,
"voter_messages_count": null
}
]
}
Get all information about user role from passing a token and give a email as query parameter
The password token sent via email or any other channels
The email for company
curl --request GET \
--get "http://localhost:8000/api/v1/admins/dedede29393/infos?email=lucchuala%40gmail.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
Get the authenticated user from request. as connected as user roles . you must provide a token from a user roles
curl --request GET \
--get "http://localhost:8000/api/v1/user" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
Get the authenticated user role from request
curl --request GET \
--get "http://localhost:8000/api/v1/user-role" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Update the information about a profile
curl --request POST \
"http://localhost:8000/api/v1/user/updateProfile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "X-PASSWORD-CONFIRM: password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"surname\": \"architecto\",
\"address\": \"architecto\",
\"city\": \"architecto\",
\"country\": \"architecto\",
\"date_of_birth\": \"2026-01-08T21:24:53\",
\"fix_phone\": \"architecto\",
\"mobile_phone\": \"architecto\",
\"other_information\": \"architecto\",
\"generic_language_id\": 16,
\"po_box\": \"architecto\",
\"society\": \"architecto\",
\"speciality\": \"architecto\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
switch account
id of role to switch to
curl --request POST \
"http://localhost:8000/api/v1/switchAccount/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Show the information about a profile to be activated
The token containing emailId, roleId and languageId
curl --request GET \
--get "http://localhost:8000/api/v1/users/activation/lklsmdkjflsqkjfdmlsjlmfdkf11q" \
--header "X-PASSWORD-CONFIRM: password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
Show the information about a profile wanting to join a partitioned space
The token containing $parentId and $childId aell being userRoleIds)
curl --request GET \
--get "http://localhost:8000/api/v1/users/joinPartitionedSpace/lklsmdkjflsqkjfdmlsjlmfdkf11q" \
--header "X-PASSWORD-CONFIRM: password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
endpoint for visu
Update profile visu
curl --request POST \
"http://localhost:8000/api/v1/companies/updateProfile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "X-PASSWORD-CONFIRM: password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"address\": \"architecto\",
\"city\": \"architecto\",
\"country\": \"architecto\",
\"po_box\": \"architecto\",
\"fix_phone\": \"architecto\",
\"mobile_phone\": \"architecto\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"company_type": {
"id": 1,
"name": "Private",
"created_at": "2026-01-07T13:21:04.000000Z"
},
"user_role": {
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"role": {
"id": 1,
"name": "global_admin",
"guard_name": "global_admin",
"created_at": "2026-01-07T13:21:04.000000Z",
"updated_at": "2026-01-07T13:21:04.000000Z"
},
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
},
"is_webinaire": false,
"is_multicreatif": false
}
}
Confirm that the password provided is the correct password of the application
curl --request POST \
"http://localhost:8000/api/v1/confirm-password" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"password\"
}"
{
"message": "Password valid"
}
Check if a user role exists in the system
The role type
global_adminsuper_adminsimple_admincurl --request POST \
"http://localhost:8000/api/v1/userRole/simple_admin/existsBy" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"name\": \"m\",
\"surname\": \"i\",
\"city\": \"y\",
\"country\": \"v\"
}"
{
"data": {
"exists": true,
"can_append_in_my_space": true
}
}
emailLang
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request POST \
"http://localhost:8000/api/v1/userRole/me/delete?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "ok"
}
Restore an user role account after been deleted!
curl --request POST \
"http://localhost:8000/api/v1/userRole/{userRoleId}/restore" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "restored successfully"
}
the token provided by email
curl --request POST \
"http://localhost:8000/api/v1/userRole/request/validate/X93h33j393h9hid939dh3idh93hd93hid3" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"surname\": \"architecto\",
\"address\": \"architecto\",
\"city\": \"architecto\",
\"country\": \"architecto\",
\"fax\": \"architecto\",
\"date_of_birth\": \"2026-01-08T21:24:55\",
\"fix_phone\": \"architecto\",
\"mobile_phone\": \"architecto\",
\"other_information\": \"architecto\",
\"generic_language_id\": 16,
\"po_box\": \"architecto\",
\"society\": \"architecto\",
\"speciality\": \"architecto\",
\"password\": \"|]|{+-\"
}"
curl --request POST \
"http://localhost:8000/api/v1/userRole/request/joinPartitionedSpace/{token}" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"surname\": \"architecto\",
\"address\": \"architecto\",
\"city\": \"architecto\",
\"country\": \"architecto\",
\"fax\": \"architecto\",
\"date_of_birth\": \"2026-01-08T21:24:55\",
\"fix_phone\": \"architecto\",
\"mobile_phone\": \"architecto\",
\"other_information\": \"architecto\",
\"generic_language_id\": 16,
\"po_box\": \"architecto\",
\"society\": \"architecto\",
\"speciality\": \"architecto\",
\"password\": \"|]|{+-\"
}"
represent the token
curl --request POST \
"http://localhost:8000/api/v1/userRole/request/reactivate/X3930FD0-30394md" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" List all the super admin account
The type of account to be exported (active | inactive) By default the value is active
activeinactiveNumber of items in pagination
Activate or not the pagination extra metadata
truefalsecurl --request GET \
--get "http://localhost:8000/api/v1/superAdmin?status=active&paginateNumber=15&pagination=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"id": 1,
"activated_at": "2026-01-07 13:21:06",
"is_active_status": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"deleted_at": null,
"parent_id": null,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"generic_language_id": null,
"role_id": 1
}
],
"links": {
"first": "/?page=1",
"last": "/?page=2",
"prev": null,
"next": "/?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "/?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "/?page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "/",
"per_page": 1,
"to": 1,
"total": 2
}
}
Create a new user
sigle of email language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request POST \
"http://localhost:8000/api/v1/superAdmin?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\"
}"
Get information about super admin account
the id of the super admin account
curl --request GET \
--get "http://localhost:8000/api/v1/superAdmin/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
}
}
Update information about the super admin account provide in request
Represent the identifier of the superAdmin account
curl --request PUT \
"http://localhost:8000/api/v1/superAdmin/1/update" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"city\": \"n\",
\"country\": \"g\",
\"po_box\": \"z\",
\"surname\": \"m\",
\"address\": \"i\",
\"fix_phone\": \"y\",
\"mobile_phone\": \"v\",
\"date_of_birth\": \"2026-01-08T21:24:54\",
\"society\": \"d\",
\"speciality\": \"l\",
\"other_information\": \"j\"
}"
{
"message": "Success",
"status": "ok"
}
Deactivate a super admin account When Deactivate an account it will be totally delete after 30 day.
The id of Super Admin account to be deleted
sigle of email language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request DELETE \
"http://localhost:8000/api/v1/superAdmin/1/delete?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"code": 2
}
List all the super admin account
The type of account to be exported (active | inactive) By default the value is all
activeinactiveNumber of items in pagination
Activate or not the pagination extra metadata
truefalsecurl --request GET \
--get "http://localhost:8000/api/v1/simpleAdmin?status=active&paginateNumber=15&pagination=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"pagination\": false,
\"paginateNumber\": 16,
\"requireAccessRight\": false
}"
{
"data": [
{
"id": 1,
"activated_at": "2026-01-07 13:21:06",
"is_active_status": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"deleted_at": null,
"parent_id": null,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"generic_language_id": null,
"role_id": 1
}
],
"links": {
"first": "/?page=1",
"last": "/?page=2",
"prev": null,
"next": "/?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "/?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "/?page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "/",
"per_page": 1,
"to": 1,
"total": 2
}
}
sigle of email language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request POST \
"http://localhost:8000/api/v1/simpleAdmin?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\"
}"
the id of the role corresponding to super admin
curl --request GET \
--get "http://localhost:8000/api/v1/simpleAdmin/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"activated_at": "2026-01-07 13:21:06",
"is_active_status": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"deleted_at": null,
"parent_id": null,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"generic_language_id": null,
"role_id": 1
},
{
"id": 1,
"activated_at": "2026-01-07 13:21:06",
"is_active_status": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"deleted_at": null,
"parent_id": null,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"generic_language_id": null,
"role_id": 1
}
]
}
the id of the role corresponding to super admin
curl --request PUT \
"http://localhost:8000/api/v1/simpleAdmin/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"city\": \"n\",
\"country\": \"g\",
\"po_box\": \"z\",
\"surname\": \"m\",
\"address\": \"i\",
\"fix_phone\": \"y\",
\"mobile_phone\": \"v\",
\"date_of_birth\": \"2026-01-08T21:24:54\",
\"society\": \"d\",
\"speciality\": \"l\",
\"other_information\": \"j\"
}"
{
"message": "update successfully"
}
The id of Simple Admin account to be deleted
curl --request DELETE \
"http://localhost:8000/api/v1/simpleAdmin/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "deactivate successfully"
}
List of company
The type of account to be exported (active | inactive) By default the value is active
activeinactiveindicate if the result will be paginated
if present determine if the owner type was contributor or user role
and if not just get all companies
curl --request GET \
--get "http://localhost:8000/api/v1/companies?status=active&paginate=1&contributorOwner=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"requireAccessRight\": true
}"
{
"data": [
{
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"status": {
"id": 1,
"name": "active",
"created_at": "2026-01-07T13:21:04.000000Z",
"updated_at": "2026-01-07T13:21:04.000000Z"
},
"user_role": {
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
},
"creator": {
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"role": {
"id": 1,
"name": "global_admin",
"guard_name": "global_admin",
"created_at": "2026-01-07T13:21:04.000000Z",
"updated_at": "2026-01-07T13:21:04.000000Z"
},
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
},
"is_webinaire": false,
"is_multicreatif": false
}
],
"links": {
"first": "/?page=1",
"last": "/?page=2",
"prev": null,
"next": "/?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "/?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "/?page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "/",
"per_page": 1,
"to": 1,
"total": 2
}
}
Store a new company to application
email lang
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request POST \
"http://localhost:8000/api/v1/companies?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"name\": \"architecto\",
\"created_at\": \"2026-01-08T21:24:54\",
\"user_role_id\": 16,
\"reference_number\": \"architecto\",
\"other_information\": \"architecto\",
\"company_type\": \"architecto\",
\"emailLang\": \"Russian\"
}"
Get details about a company
the identifiers of the company actual(id)
curl --request GET \
--get "http://localhost:8000/api/v1/companies/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"is_webinaire": false,
"is_multicreatif": false
}
}
Update the company data
the id of the company
curl --request PUT \
"http://localhost:8000/api/v1/companies/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"company_type\": \"architecto\",
\"user_role_id\": \"architecto\",
\"reference_number\": \"architecto\",
\"other_information\": \"architecto\"
}"
{
"code": 200,
"message": "Update successfully"
}
Company id
curl --request DELETE \
"http://localhost:8000/api/v1/companies/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "Delete success"
}
curl --request GET \
--get "http://localhost:8000/api/v1/companies/administrators/wallet" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"is_webinaire": false,
"is_multicreatif": false
}
],
"links": {
"first": "/?page=1",
"last": "/?page=2",
"prev": null,
"next": "/?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "/?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "/?page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "/",
"per_page": 1,
"to": 1,
"total": 2
}
}
curl --request GET \
--get "http://localhost:8000/api/v1/companies/contributorGroups/wallet" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"company_id": null,
"name": null,
"email": null,
"created_at": null,
"updated_at": null
},
{
"id": null,
"company_id": null,
"name": null,
"email": null,
"created_at": null,
"updated_at": null
}
]
}
Restore an company account after been deleted!
id of company
curl --request POST \
"http://localhost:8000/api/v1/companies/1/restore" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "restored"
}
curl --request GET \
--get "http://localhost:8000/api/v1/companies/my/userRoles" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
},
{
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
}
]
}
token
curl --request POST \
"http://localhost:8000/api/v1/company/request/reactivate/xdjfjedediiejdiejide" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get all meta data
token in creation email
curl --request GET \
--get "http://localhost:8000/api/v1/company/7se889s7Qp9exy5rsCZXivoyVZ7phb5QegYxEbFs8567a748/data" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"is_webinaire": false,
"is_multicreatif": false
}
}
Activate company with provided data
the token provided by email
curl --request POST \
"http://localhost:8000/api/v1/companies/X93h33j393h9hid939dh3idh93hd93hid3/validate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"password\": \"architecto\",
\"address\": \"architecto\",
\"city\": \"architecto\",
\"country\": \"architecto\",
\"po_box\": \"architecto\",
\"fix_phone\": \"architecto\",
\"mobile_phone\": \"architecto\",
\"reference_number\": \"architecto\",
\"other_information\": \"architecto\",
\"user_role_id\": 16,
\"company_type\": \"architecto\",
\"generic_language\": \"architecto\"
}"
Get all information about user role from passing a token and give a email as query parameter
The password token sent via email or any other channels
The email for company
curl --request GET \
--get "http://localhost:8000/api/v1/visu/dedede29393/infos?email=lucchuala%40gmail.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "CU-yvan-cu",
"email": "ynguetse@gmail.com",
"email_verified_at": null,
"address": "87, rue de Paul\n41658 Meunier",
"city": "Benard",
"country": "LA",
"po_box": "64677",
"fix_phone": null,
"mobile_phone": null,
"reference_number": null,
"company_type_id": 1,
"password": "$2y$12$Sd5JjV5WRwqSBnlF2wYPFOzpl8p0BNcxrKwidI2nJ1rNid1QP92vm",
"user_role_id": 1,
"creator_id": 1,
"deletion_type_id": null,
"status_id": 1,
"formated_code": "Cu20260107132117",
"company_email_designs_count": null,
"company_languages_count": null,
"company_questionnaire_designs_count": null,
"company_report_designs_count": null,
"partitioned_email_designs_count": null,
"partitioned_languages_count": null,
"partitioned_questionnaire_designs_count": null,
"partitioned_report_designs_count": null,
"other_information": null,
"activated_at": "2026-01-07 13:21:17",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z",
"deleted_at": null,
"is_active_status": true,
"remember_token": null,
"generic_language_id": 1,
"company_type": {
"id": 1,
"name": "Private",
"created_at": "2026-01-07T13:21:04.000000Z"
},
"user_role": {
"id": 1,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20260107132106",
"parent_id": null,
"role": {
"id": 1,
"name": "global_admin",
"guard_name": "global_admin",
"created_at": "2026-01-07T13:21:04.000000Z",
"updated_at": "2026-01-07T13:21:04.000000Z"
},
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"act_as_global_admin": true,
"voter_messages_count": null
},
"is_webinaire": false,
"is_multicreatif": false
}
}
Get all information about user role from passing a token and give a email as query parameter
The password token sent via email or any other channels
The email for voter
curl --request GET \
--get "http://localhost:8000/api/v1/voter/dedede29393/infos?email=lucchuala%40gmail.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"email": null,
"access_type_id": null,
"status_id": null,
"company_id": null,
"created_at": null,
"properties": [],
"generic_language_id": null,
"revert_deletion_type": null
}
}
Authenticate user and provide token for the user to access the system.
<h2>This Token is limited . to have the full version of token you have to generate a new token from the user role.</h2>
<p>Theses are functionality of the group:</p>
<li>Login user account : provide an token for the user account</li>
<li>Login user role account: provide a token for the user role account</li>
<li>Send a email reset password </li>
<li>Send an verification email</li>
<li>Reset user password</li>
Get the credentials of any user and return an unique token witch correspond to these credentials
curl --request POST \
"http://localhost:8000/api/v1/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"token": "FJDHXDJS0930393DKDKxdkdedfd",
"roles": []
}
}
Send to the email provide an reset mail instructions
curl --request POST \
"http://localhost:8000/api/v1/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"lucchuala@gmail.com\",
\"profile\": \"admins\",
\"locale\": \"en\"
}"
{
"status": "passwords.sent",
"message": "we have sent you a successfully password reset link"
}
Reset the password for the given token, either admins or companies
curl --request POST \
"http://localhost:8000/api/v1/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"a88b7dcd1a9e3e17770bbaa6d7515b31a2d7e85d\",
\"email\": \"user@email.com\",
\"password\": \"user@email.com\",
\"profile\": \"architecto\",
\"password_confirmation\": \"architecto\"
}"
{
"status": "reset success"
}
Send The verification email for reset password
curl --request POST \
"http://localhost:8000/api/v1/email/verification-notification" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Delete all the token for the authenticated user
curl --request POST \
"http://localhost:8000/api/v1/logout" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Authenticate a user role by providing a token
curl --request POST \
"http://localhost:8000/api/v1/user/role/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"password\": \"|]|{+-\",
\"role_id\": 16
}"
{
"token": "19|deubX17LvquxOkIp8lkXqa3rCklCP6pF3qZwLG2x0f98e599",
"auth": {
"id": 1,
"created_at": "2024-12-10T08:24:33.000000Z",
"updated_at": "2024-12-10T14:00:14.000000Z",
"is_direct_child": 1,
"role_id": 1,
"status_id": 1,
"formated_code": "SAdm20241210082433",
"parent_id": null,
"user": {
"id": 1,
"name": "consequatur",
"email": "lucchuala@gmail.com",
"email_verified_at": "2024-12-10T14:00:14.000000Z",
"surname": "consequatur",
"address": "consequatur",
"city": "consequatur",
"country": "consequatur",
"po_box": "consequatur",
"fix_phone": "consequatur",
"mobile_phone": "consequatur",
"fax": "+33 (0)8 29 70 33 82",
"date_of_birth": "2024-12-18",
"speciality": "consequatur",
"society": "consequatur",
"other_information": "consequatur",
"created_at": "2024-12-10T08:24:33.000000Z",
"updated_at": "2024-12-23T06:04:58.000000Z"
}
}
}
Authenticate a user role by providing a token
curl --request POST \
"http://localhost:8000/api/v1/user/role/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Reset the password for the given token, either admins or companies
curl --request POST \
"http://localhost:8000/api/v1/reset-password/voter" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"a88b7dcd1a9e3e17770bbaa6d7515b31a2d7e85d\",
\"email\": \"user@email.com\",
\"name\": \"Nguemoue\",
\"surname\": \"luc\",
\"password\": \"user@email.com\",
\"password_confirmation\": \"architecto\"
}"
{
"status": "reset success"
}
Login the voter as a participant of a vote
curl --request POST \
"http://localhost:8000/api/v1/login/voterQuestionnaire/nominatif" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"questionnaire_id\": 16,
\"email\": \"zbailey@example.net\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1",
"auth": {
"id": 1,
"email": "voter@gmail.com",
"access_type_id": 1
}
}
}
Login voter as a holder of an account exple(voter nominatif) thant can manage theirs questionnaire
curl --request POST \
"http://localhost:8000/api/v1/login/voter" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1",
"auth": {
"id": 1,
"email": "voter@gmail.com",
"access_type_id": 1
}
}
}
Login voter as a holder of an account exple(voter nominatif) thant can manage theirs questionnaire
curl --request POST \
"http://localhost:8000/api/v1/login/token/{token}/nominative" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1",
"auth": {
"id": 1,
"email": "voter@gmail.com",
"access_type_id": 1
}
}
}
Logout voter
curl --request POST \
"http://localhost:8000/api/v1/logout/voter" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "Successfully logged out"
}
curl --request POST \
"http://localhost:8000/api/v1/login/library" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 16,
\"code\": \"architecto\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1"
}
}
curl --request POST \
"http://localhost:8000/api/v1/logout/library" \
--header "Content-Type: application/json" \
--header "Accept: application/json" curl --request POST \
"http://localhost:8000/api/v1/login/visu" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"berger.aurore@dias.fr\",
\"password\": \"|]|{+-\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1",
"company": {
"id": 1,
"name": "name",
"company_type": {
"id": 1,
"name": "name"
},
"use_role": {
"id": 1,
"name": "name",
"user": {
"id": 1,
"name": "name"
}
}
}
}
}
Logout visu
curl --request POST \
"http://localhost:8000/api/v1/logout/visu" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "Logged out"
}
Report login end point
curl --request POST \
"http://localhost:8000/api/v1/login/report" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_code\": \"architecto\"
}"
{
"data": {
"token": "EA119zBgr1RRgfprtCoopDqRE0JQ1Cbjh9L50lOo0038d6b1",
"questionnaire": {
"id": 1
}
}
}
Report logout end point
curl --request POST \
"http://localhost:8000/api/v1/logout/report" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get the basic details for the application
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/basicOptions/sharedSettings" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Update the current information about basic option
curl --request POST \
"http://localhost:8000/api/v1/baseOption/basicOptions/sharedSettings" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sender_name\": \"John Doe\",
\"sending_email\": \"johndoe@gmail.com\",
\"cc_email\": [
\"cc@gmail.com\",
\"cc2@gmail.com\"
]
}"
{
"status": 200,
"message": "Update success"
}
curl --request POST \
"http://localhost:8000/api/v1/baseOption/basicOptions/sharedSettings/reset" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" id of user role
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/basicOptions/superAdministrator?user_role_id=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 16
}"
{
"data": {
"super_admin_id": 1,
"languages": [],
"questionnaire_designs": [],
"report_designs": [],
"email_designs": [],
"sender_name": null,
"sender_email": null,
"cc_email": []
}
}
curl --request POST \
"http://localhost:8000/api/v1/baseOption/basicOptions/superAdministrator" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 16,
\"languages\": [
16
],
\"questionnaire_designs\": [
16
],
\"report_designs\": [
16
],
\"email_designs\": [
16
],
\"sender_name\": \"architecto\",
\"sending_email\": \"zbailey@example.net\",
\"cc_email\": [
\"gulgowski.asia@example.com\"
]
}"
{
"message": "success",
"status": 200
}
id of company
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/basicOptions/company/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"company_id": 1
},
{
"company_id": 1
}
]
}
curl --request POST \
"http://localhost:8000/api/v1/baseOption/basicOptions/company" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"company_id\": 16,
\"languages\": [
16
],
\"questionnaire_designs\": [
16
],
\"report_designs\": [
16
],
\"email_designs\": [
16
]
}"
{
"message": "Created successfully"
}
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/basicOptions/administrator" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 1
}"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request POST \
"http://localhost:8000/api/v1/baseOption/basicOptions/administrator" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 16,
\"languages\": [
16
],
\"questionnaire_designs\": [
16
],
\"report_designs\": [
16
],
\"email_designs\": [
16
]
}"
Check if a super administrator has a valid subscription
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/basicOptions/superAdministrator/subscription/isValid" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"valid": false
}
}
Get tbe list of all subscriptions
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/index" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
type of subscription
normalunlimitedid of super admin
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/normal/superAdministrator?user_role_id=16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 16
}"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Details des souscriptions d'un super administrateur
type of subscription
normalunlimitedid of super administrator
the id of product
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/normal/superAdministrator/2/details?product_id=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 2,
"status_id": 7,
"user_role_id": 1,
"properties": {
"questionnaireNumber": null,
"expirationDate": null,
"startDate": null,
"subscriptionType": "normal",
"timezone": "UTC"
},
"subscription_type_id": 1,
"subscription_type": {
"id": 1,
"name": "normal",
"created_at": "2026-01-07T13:21:05.000000Z"
},
"updated_at": "2026-01-08T21:24:56.000000Z",
"created_at": "2026-01-08T21:24:56.000000Z"
},
{
"id": 2,
"status_id": 7,
"user_role_id": 1,
"properties": {
"questionnaireNumber": null,
"expirationDate": null,
"startDate": null,
"subscriptionType": "normal",
"timezone": "UTC"
},
"subscription_type_id": 1,
"subscription_type": {
"id": 1,
"name": "normal",
"created_at": "2026-01-07T13:21:05.000000Z"
},
"updated_at": "2026-01-08T21:24:56.000000Z",
"created_at": "2026-01-08T21:24:56.000000Z"
}
]
}
curl --request DELETE \
"http://localhost:8000/api/v1/baseOption/subscriptions/{subscriptionId}/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" curl --request POST \
"http://localhost:8000/api/v1/baseOption/subscriptions/{subscriptionId}/activate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
type of subscription
normalunlimitedcurl --request POST \
"http://localhost:8000/api/v1/baseOption/subscriptions/normal/superAdministrator" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_role_id\": 16,
\"subscriptions\": [
{
\"product_id\": 16,
\"questionnaire_number\": 39,
\"start_date\": \"2026-01-08T21:24:57\",
\"expiration_date\": \"2092-07-08\"
}
]
}"
List of espace cloisoned
curl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/histories/superAdministrators" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"updated_at": "2026-01-07T13:21:06.000000Z",
"emails": [],
"languages": [],
"questionnaire_designs": []
},
{
"id": 1,
"user": {
"id": 1,
"name": "yvan",
"email": "ynguetse@gmail.com",
"email_verified_at": "2026-01-07T13:21:06.000000Z",
"surname": "Schneider",
"address": "42, boulevard de Duhamel\n64544 Guibert",
"city": "Lesage",
"country": "VA",
"po_box": "95141",
"fix_phone": "04 08 58 96 89",
"mobile_phone": "06 98 35 74 11",
"fax": "+33 (0)1 68 97 72 78",
"date_of_birth": null,
"speciality": "Opérateur piquage",
"society": "Hubert",
"generic_language_id": null,
"other_information": null,
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z"
},
"updated_at": "2026-01-07T13:21:06.000000Z",
"emails": [],
"languages": [],
"questionnaire_designs": []
}
]
}
type of subscription
normalunlimitedid of subscription to be updated
curl --request PUT \
"http://localhost:8000/api/v1/baseOption/subscriptions/histories/unlimited/subscriptions/1/update" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"questionnaire_number\": 27,
\"start_date\": \"2026-01-08T21:24:57\",
\"expiration_date\": \"2026-01-08T21:24:57\"
}"
Export in a (CSV|XLSX) format the list of subscription
csvxlsxSpecified the language of witch the export will be done
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/histories/subscriptions/export?format=csv&exportLanguage=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" <binary>
csvxlsxspecified the timezone for date
the export language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request GET \
--get "http://localhost:8000/api/v1/baseOption/subscriptions/histories/superAdministrators/export?format=csv&tz=Europe%2FParis&exportLanguage=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Manage Contributor group operations
Contributor List
curl --request GET \
--get "http://localhost:8000/api/v1/contributorGroup" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 4,
"company_id": 11,
"name": "Riviere",
"email": "berger.aurore@dias.fr",
"created_at": "2026-01-08T21:24:55.000000Z",
"updated_at": "2026-01-08T21:24:55.000000Z"
},
{
"id": 4,
"company_id": 11,
"name": "Riviere",
"email": "berger.aurore@dias.fr",
"created_at": "2026-01-08T21:24:55.000000Z",
"updated_at": "2026-01-08T21:24:55.000000Z"
}
]
}
Create Contributor Group
curl --request POST \
"http://localhost:8000/api/v1/contributorGroup" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"company_id\": 16,
\"name\": \"architecto\",
\"email\": \"zbailey@example.net\",
\"admins\": [
16
]
}"
{
"message": "successfully created"
}
Show Contributor Group
id of contributor group
curl --request GET \
--get "http://localhost:8000/api/v1/contributorGroup/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 6,
"company_id": 13,
"name": "Riviere",
"email": "berger.aurore@dias.fr",
"created_at": "2026-01-08T21:24:55.000000Z",
"updated_at": "2026-01-08T21:24:55.000000Z"
}
}
Update Contributor Group
id of contributor group
curl --request PUT \
"http://localhost:8000/api/v1/contributorGroup/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"company_id\": 16,
\"name\": \"architecto\",
\"email\": \"zbailey@example.net\",
\"admins\": [
16
]
}"
{
"message": "update Success"
}
Delete Contributor Group
id of contributor group
curl --request DELETE \
"http://localhost:8000/api/v1/contributorGroup/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "Deleted success!"
}
Get Slices defined
survey360quizbioisiTestcurl --request GET \
--get "http://localhost:8000/api/v1/products/survey/slices" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "none"
},
{
"id": 1,
"name": "none"
}
]
}
Get phases defined
curl --request GET \
--get "http://localhost:8000/api/v1/phases" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "creation"
},
{
"id": 1,
"name": "creation"
}
]
}
Get all products defined
curl --request GET \
--get "http://localhost:8000/api/v1/products" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "survey",
"image_url": null,
"description": "sondage description"
},
{
"id": 1,
"name": "survey",
"image_url": null,
"description": "sondage description"
}
]
}
Get numeric scales defined
curl --request GET \
--get "http://localhost:8000/api/v1/numericScale" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"start": 0,
"end": 3,
"formated_scale": "0-3"
},
{
"id": 1,
"start": 0,
"end": 3,
"formated_scale": "0-3"
}
]
}
Get all languages defined
curl --request GET \
--get "http://localhost:8000/api/v1/languages" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "French",
"acronym": "fr"
},
{
"id": 1,
"name": "French",
"acronym": "fr"
}
]
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/languages" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/reportDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/emailDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/questionnaireDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/superAdministrators" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/company" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/simpleAdministrators" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
List all languages for a company
Id of the company
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/companies/1/languages" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "French",
"acronym": "fr"
},
{
"id": 1,
"name": "French",
"acronym": "fr"
}
]
}
List all languages for a company
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/visu/currentPartitionedLanguages" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "French",
"acronym": "fr"
},
{
"id": 1,
"name": "French",
"acronym": "fr"
}
]
}
Endpoint for voter group
Delete my account personally
curl --request DELETE \
"http://localhost:8000/api/v1/dashboard/voters/account/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/voters/questionnaires" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
As a voter remove me from a questionnaire
curl --request DELETE \
"http://localhost:8000/api/v1/dashboard/voters/voterQuestionnaires/{voterQuestionnaireId}/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
This endpoint undo deletion of endpoint make by the voter
Token Obtained after requesting deletion for the first 24 hours
curl --request POST \
"http://localhost:8000/api/v1/dashboard/voters/actions/delete/$eyvjde93939399494kjndqeiudoqeduqe030/undo/by-voter" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Element is both a Theme or a Section.
Show a specific element
id of language. by default is french
represent de id of the current doc element
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/elements/docElements/1/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
}
}
Create a new element
id of language.
curl --request POST \
"http://localhost:8000/api/v1/documentation/elements/docElements" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"doc_element_type\": \"architecto\",
\"elements\": [
{
\"language_id\": 16,
\"name\": \"architecto\"
}
]
}"
{
"message": "success",
"status": 200
}
Update a doc element
element id
id of language.
curl --request PUT \
"http://localhost:8000/api/v1/documentation/elements/docElements/1/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
{
"message": "success",
"status": 200
}
delete an element of documentation
id of element
id of language.
curl --request DELETE \
"http://localhost:8000/api/v1/documentation/elements/docElements/1/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
List all the elements
id of language. by default is french
filter by element type
themesectionpagefilter by parent
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/elements/docElements/1?elementType=theme&parentId=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
}
}
the language id
the doc element id
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/elements/docElements/1/1/children" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"user_role_id": null,
"name": null,
"created_at": null,
"updated_at": null,
"doc_element_id": null,
"language_id": null
},
{
"id": null,
"user_role_id": null,
"name": null,
"created_at": null,
"updated_at": null,
"doc_element_id": null,
"language_id": null
}
]
}
Move an element to a specific parent
id of doc element
id of the where to be moved
curl --request POST \
"http://localhost:8000/api/v1/documentation/elements/docElements/1/move/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "element moved."
}
id of language
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/1/menu" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get all the tags defined in application
Define the status
usednot_usedallcurl --request GET \
--get "http://localhost:8000/api/v1/documentation/pages/summary?status=used" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "APDOC",
"created_at": "2026-01-07T13:21:07.000000Z",
"updated_at": "2026-01-07T13:21:07.000000Z"
},
{
"id": 1,
"name": "APDOC",
"created_at": "2026-01-07T13:21:07.000000Z",
"updated_at": "2026-01-07T13:21:07.000000Z"
}
]
}
the doc element id
curl --request POST \
"http://localhost:8000/api/v1/documentation/elements/docElements/1/order/up" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "order up"
}
the doc element id
curl --request POST \
"http://localhost:8000/api/v1/documentation/elements/docElements/1/order/down" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "order down"
}
Get all the doc pages defined in our application
the language id
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/pages/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"menu": null,
"content": null,
"name": null,
"alias": null,
"draft_content": null,
"draft_published": null,
"doc_page_id": null,
"language_id": null,
"created_at": null,
"updated_at": null
},
{
"id": null,
"menu": null,
"content": null,
"name": null,
"alias": null,
"draft_content": null,
"draft_published": null,
"doc_page_id": null,
"language_id": null,
"created_at": null,
"updated_at": null
}
]
}
Update a doc page
id of language
code for doc page
ABOUT_DOCUMENTATIONADMIN_QUESTIONNAIRESUPER_ADMIN_LISTSUPER_ADMIN_ACTIVATIONSUPER_ADMIN_DETAILSSUPER_ADMIN_EDITCOMPANY_LISTCOMPANY_CREATECOMPANY_ACTIVATIONCOMPANY_DETAILSCOMPANY_EDITADMIN_LISTADMIN_ACTIVATIONADMIN_DETAILSADMIN_EDITCONTRIBUTOR_GROUP_LISTCONTRIBUTOR_GROUP_DETAILSCONTRIBUTOR_GROUP_EDITLIBRARY_LISTLIBRARY_CONFIGURATIONLIBRARY_DETAILSQUESTIONNAIRE_LISTSURVEY_CREATESURVEY_EDIT_360_EDIT_360_CREATEISITEST_CREATEISITEST_EDITQUIZ_CREATEQUIZ_EDITBIO_EDITBIO_CREATEBASE_OPTIONPERMISSIONSDOCUMENTATIONDOCUMENTATION_THEMEDOCUMENTATION_SECTIONLOGCONFIGURATIONSQUESTIONNAIRE_DESIGN_LISTQUESTIONNAIRE_DESIGN_CREATEQUESTIONNAIRE_DESIGN_EDITQUESTIONNAIRE_DESIGN_DETAILSEMAIL_DESIGN_LISTEMAIL_DESIGN_EDITREPORT_DESIGN_LISTREPORT_DESIGN_CREATEREPORT_DESIGN_EDITREPORT_DESIGN_DETAILSTRACK_SCREENTRACK_COACH_INDIVIDUALTRACK_COACH_GLOBALVISU_LISTVISU_SURVEY_DETAILVISU_360_DETAILVISU_ISITEST_DETAILVISU_QUIZ_DETAILVISU_BIO_DETAILPRINT_PARAMETERREPORTMESSAGE_LISTRECEIVED_MESSAGEcurl --request POST \
"http://localhost:8000/api/v1/documentation/pages/1/SUPER_ADMIN_EDIT/pages" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"menu\": \"architecto\",
\"parent_id\": 16,
\"name\": \"architecto\",
\"content\": \"architecto\",
\"alias\": \"architecto\",
\"is_published\": false,
\"is_draft_published\": false,
\"draft_content\": \"architecto\",
\"contextual_tags\": [
{
\"order\": 16,
\"name\": \"architecto\",
\"content\": \"architecto\",
\"activated_link\": false
}
]
}"
First page for create a page in documentation module
curl --request POST \
"http://localhost:8000/api/v1/documentation/pages/basicCreate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"tag_id\": 16,
\"items\": [
{
\"menu\": \"architecto\",
\"title\": \"architecto\",
\"language_id\": 16
}
],
\"parent_id\": 16
}"
{
"message": "success",
"status": 200
}
First page for create a page in documentation module
id of doc page
curl --request POST \
"http://localhost:8000/api/v1/documentation/pages/1/basicUpdate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"tag_id\": 16,
\"language_id\": 16,
\"menu\": \"architecto\",
\"title\": \"architecto\"
}"
{
"message": "success",
"status": 200
}
Get doc page Detail
the language id
alias for doc page
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/pages/1/alias test/aliasDetails" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
},
{
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
}
]
}
Change a parent for a specific page
code of the page
curl --request POST \
"http://localhost:8000/api/v1/documentation/pages/1/parent" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"theme_id\": 16,
\"section_id\": 16
}"
{
"message": "Parent changed successfully."
}
Get doc page Detail
the language id
code for doc page
ABOUT_DOCUMENTATIONADMIN_QUESTIONNAIRESUPER_ADMIN_LISTSUPER_ADMIN_ACTIVATIONSUPER_ADMIN_DETAILSSUPER_ADMIN_EDITCOMPANY_LISTCOMPANY_CREATECOMPANY_ACTIVATIONCOMPANY_DETAILSCOMPANY_EDITADMIN_LISTADMIN_ACTIVATIONADMIN_DETAILSADMIN_EDITCONTRIBUTOR_GROUP_LISTCONTRIBUTOR_GROUP_DETAILSCONTRIBUTOR_GROUP_EDITLIBRARY_LISTLIBRARY_CONFIGURATIONLIBRARY_DETAILSQUESTIONNAIRE_LISTSURVEY_CREATESURVEY_EDIT_360_EDIT_360_CREATEISITEST_CREATEISITEST_EDITQUIZ_CREATEQUIZ_EDITBIO_EDITBIO_CREATEBASE_OPTIONPERMISSIONSDOCUMENTATIONDOCUMENTATION_THEMEDOCUMENTATION_SECTIONLOGCONFIGURATIONSQUESTIONNAIRE_DESIGN_LISTQUESTIONNAIRE_DESIGN_CREATEQUESTIONNAIRE_DESIGN_EDITQUESTIONNAIRE_DESIGN_DETAILSEMAIL_DESIGN_LISTEMAIL_DESIGN_EDITREPORT_DESIGN_LISTREPORT_DESIGN_CREATEREPORT_DESIGN_EDITREPORT_DESIGN_DETAILSTRACK_SCREENTRACK_COACH_INDIVIDUALTRACK_COACH_GLOBALVISU_LISTVISU_SURVEY_DETAILVISU_360_DETAILVISU_ISITEST_DETAILVISU_QUIZ_DETAILVISU_BIO_DETAILPRINT_PARAMETERREPORTMESSAGE_LISTRECEIVED_MESSAGEcurl --request GET \
--get "http://localhost:8000/api/v1/documentation/pages/1/SUPER_ADMIN_EDIT/details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
},
{
"id": null,
"order": null,
"created_at": null,
"updated_at": null,
"parent_id": null
}
]
}
Get all the contextual tag defined in our application
the language id
the enum value represent code of the page
curl --request GET \
--get "http://localhost:8000/api/v1/documentation/page/1/ADMIN_QUESTIONNAIRE/contextualTags" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"content": null,
"name": null,
"contextual_tag_id": null,
"language_id": null,
"created_at": null,
"updated_at": null
},
{
"id": null,
"content": null,
"name": null,
"contextual_tag_id": null,
"language_id": null,
"created_at": null,
"updated_at": null
}
]
}
Update an existing contextual tag in a language or create it in this language
the language id
the enum value represent code of the page
The number of contextual tag
curl --request POST \
"http://localhost:8000/api/v1/documentation/page/1/ADMIN_QUESTIONNAIRE/1/contextualTags" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"content\": \"architecto\",
\"is_active\": true
}"
{
"message": "updated success"
}
curl --request GET \
--get "http://localhost:8000/api/v1/mail/emailDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "Classique",
"image": "emailDesigns/1",
"is_classic": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"image_link": "http://localhost:8000/storage/emailDesigns/1",
"all_content_loaded": true
},
{
"id": 1,
"name": "Classique",
"image": "emailDesigns/1",
"is_classic": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"image_link": "http://localhost:8000/storage/emailDesigns/1",
"all_content_loaded": true
}
]
}
curl --request POST \
"http://localhost:8000/api/v1/mail/emailDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=architecto"\
--form "image=@/tmp/phpNRBbcq" {
"message": "success",
"status": 200
}
Get a specific email design
The ID of the email design
curl --request GET \
--get "http://localhost:8000/api/v1/mail/emailDesigns/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "Classique",
"image": "emailDesigns/1",
"is_classic": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"image_link": "http://localhost:8000/storage/emailDesigns/1",
"all_content_loaded": true
}
}
Get a specific email design
The ID of the email design
curl --request PUT \
"http://localhost:8000/api/v1/mail/emailDesigns/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=architecto"\
--form "image=@/tmp/phpAKCoOE" {
"message": "success",
"status": 200
}
Delete a specific email design
The ID of the email design
curl --request DELETE \
"http://localhost:8000/api/v1/mail/emailDesigns/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Copy a new email design to an existing
id of email design
curl --request POST \
"http://localhost:8000/api/v1/mail/emailDesigns/1/copy" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=architecto"\
--form "is_default_logo=1"\
--form "remove_logo="\
--form "image=@/tmp/phpZW9jqG" {
"message": "success",
"success": true
}
Get details attached to an specific type of generic email
return default subject , default description
id of language
code for email type
TYPE_CREATE_USER_ROLE_ACCOUNTTYPE_CONFIRM_USER_ROLE_CREATION_ACCOUNTTYPE_ADD_USER_ROLE_TO_PARTITIONED_SPACETYPE_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_CONFIRM_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATORTYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNERTYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATORTYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNERTYPE_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACETYPE_CONFIRM_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACETYPE_CREATE_USER_ACCOUNTTYPE_CONFIRM_CREATE_USER_ACCOUNTTYPE_DELETE_COMPANY_ALT_SUPER_ADMINTYPE_DELETE_COMPANY_ALT_USER_ACCOUNTTYPE_CONFIRM_DELETE_COMPANY_ALT_SUPER_ADMINTYPE_CONFIRM_DELETE_COMPANY_ALT_USER_ACCOUNTTYPE_CREATION_OF_VOTER_ACCOUNTTYPE_CONFIRM_CREATION_OF_VOTER_ACCOUNTTYPE_ADD_VOTER_ACCOUNT_TO_COMPANYTYPE_CONFIRM_ADD_VOTER_ACCOUNT_TO_COMPANYTYPE_DELETE_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_CONFIRM_DELETION_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLE_OF_WALLETTYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTERTYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLETYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTERTYPE_VOTING_PASSWORD_RESETTYPE_USER_ROLE_PASSWORD_RESETTYPE_USER_ACCOUNT_PASSWORD_RESETcurl --request GET \
--get "http://localhost:8000/api/v1/mail/generic/components/1/TYPE_CREATE_USER_ROLE_ACCOUNT" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
List of all generic email in the application
the language of witch email should be retrieved
id of email design parent
curl --request GET \
--get "http://localhost:8000/api/v1/mail/generic/contents/1/1/defaultEmailContent" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Endpoint to update all generic email in the application
the language of witch email should be retrieved
id of email design parent
curl --request PUT \
"http://localhost:8000/api/v1/mail/generic/contents/1/1/defaultEmailContent" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"TYPE_CREATE_USER_ROLE_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_USER_ROLE_CREATION_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_ADD_USER_ROLE_TO_PARTITIONED_SPACE\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATOR\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNER\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATOR\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNER\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACE\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACE\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CREATE_USER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_CREATE_USER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_COMPANY_ALT_SUPER_ADMIN\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_COMPANY_ALT_USER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_COMPANY_ALT_SUPER_ADMIN\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_COMPANY_ALT_USER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CREATION_OF_VOTER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_CREATION_OF_VOTER_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_ADD_VOTER_ACCOUNT_TO_COMPANY\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_ADD_VOTER_ACCOUNT_TO_COMPANY\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETION_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNT\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLE_OF_WALLET\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTER\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLE\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTER\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_VOTING_PASSWORD_RESET\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_USER_ROLE_PASSWORD_RESET\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
},
\"TYPE_USER_ACCOUNT_PASSWORD_RESET\": {
\"content\": \"architecto\",
\"subject\": \"architecto\"
}
}"
{
"message": "success",
"status": 200
}
Reset All generic email for a specific language
the language of witch email should be retrieved
id of email design parent
curl --request POST \
"http://localhost:8000/api/v1/mail/generic/contents/1/1/defaultEmailContent/reset" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Get the reset generic email for a specific language
the language of witch email should be retrieved
id of email design parent
code of mail to be reset
TYPE_CREATE_USER_ROLE_ACCOUNTTYPE_CONFIRM_USER_ROLE_CREATION_ACCOUNTTYPE_ADD_USER_ROLE_TO_PARTITIONED_SPACETYPE_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_CONFIRM_DELETE_USER_ROLE_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATORTYPE_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNERTYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_INITIATORTYPE_CONFIRM_DELETE_USER_ROLE_BY_ADMIN_WITH_HIGHER_AUTHORIZATIONS_TO_OWNERTYPE_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACETYPE_CONFIRM_ADD_SIMPLE_ADMIN_TO_OTHER_PARTITIONED_SPACETYPE_CREATE_USER_ACCOUNTTYPE_CONFIRM_CREATE_USER_ACCOUNTTYPE_DELETE_COMPANY_ALT_SUPER_ADMINTYPE_DELETE_COMPANY_ALT_USER_ACCOUNTTYPE_CONFIRM_DELETE_COMPANY_ALT_SUPER_ADMINTYPE_CONFIRM_DELETE_COMPANY_ALT_USER_ACCOUNTTYPE_CREATION_OF_VOTER_ACCOUNTTYPE_CONFIRM_CREATION_OF_VOTER_ACCOUNTTYPE_ADD_VOTER_ACCOUNT_TO_COMPANYTYPE_CONFIRM_ADD_VOTER_ACCOUNT_TO_COMPANYTYPE_DELETE_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_CONFIRM_DELETION_VOTER_ACCOUNT_BY_PERSON_WHO_HOLDS_ACCOUNTTYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLE_OF_WALLETTYPE_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTERTYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_USER_ROLETYPE_CONFIRM_DELETE_VOTER_ACCOUNT_BY_USER_ROLE_OF_WALLET_INFORM_VOTERTYPE_VOTING_PASSWORD_RESETTYPE_USER_ROLE_PASSWORD_RESETTYPE_USER_ACCOUNT_PASSWORD_RESETcurl --request GET \
--get "http://localhost:8000/api/v1/mail/generic/contents/1/1/defaultEmailContent/TYPE_CREATE_USER_ROLE_ACCOUNT/originalContent" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"content": "",
"subject": "",
"language_id": -1,
"subject_parameters": [],
"parameters": [],
"description": "",
"type": "",
"code": ""
}
}
curl --request POST \
"http://localhost:8000/api/v1/login/userRole/directAccess/{token}" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" curl --request GET \
--get "http://localhost:8000/api/v1/reportDesign/{reportDesignId}/previewPdf" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "App\\Http\\Controllers\\V1\\ReportDesign\\ReportDesignPreviewController::__invoke(): Argument #2 ($reportDesignId) must be of type int, string given, called in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php on line 46",
"exception": "TypeError",
"file": "/var/www/html/app/Http/Controllers/V1/ReportDesign/ReportDesignPreviewController.php",
"line": 18,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
"line": 46,
"function": "__invoke",
"class": "App\\Http\\Controllers\\V1\\ReportDesign\\ReportDesignPreviewController",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 265,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 211,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 822,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 26,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 25,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 821,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 800,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 764,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 753,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
"line": 19,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 109,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 61,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 58,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php",
"line": 22,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php",
"line": 26,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePathEncoding",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 256,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 249,
"function": "callLaravelRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 86,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 39,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 240,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 165,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 97,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 43,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 96,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 799,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 211,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 341,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 180,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1102,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 356,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 195,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 198,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1235,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 13,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/vote/authenticated" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Generate All access for voters
The ID of the questionnaire
curl --request POST \
"http://localhost:8000/api/v1/voters/questionnaires/1/generateAccess" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
The export module supports different file formats such as 'csv', 'excel', and 'html', with 'csv' being the default. This flexibility is managed by the UserExportTypeEnum enum, which handles the different file formats for exporting and provides the extension and writer type for each format.
Export super admin data in to different predefined format
The format of the file to export. Can be 'csv' or 'excel'. the default is 'csv'
csvxlsxThe state for account to be exported
inactiveactivethe export language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request GET \
--get "http://localhost:8000/api/v1/export/account/superAdmin/xlsx?status=active&exportLanguage=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -
Export simple admin data in to different predefined format
The format of the file to export. Can be 'csv' or 'excel'. the default is 'csv'
csvxlsxThe state for account to be exported
inactiveactivethe export language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request GET \
--get "http://localhost:8000/api/v1/export/account/admin/xlsx?status=active&exportLanguage=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -
Export company data in to different predefined format
The format of the file to export. Can be 'csv' or 'excel'. the default is 'csv'
csvxlsxThe state for account to be exported
inactiveactivethe export language
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request GET \
--get "http://localhost:8000/api/v1/export/account/company/xlsx?status=active&exportLanguage=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -
The Import module supports different file formats such as 'csv', 'excel', and 'html', with 'csv' being the default.
This flexibility is managed by the UserImportTypeEnum enum, which handles the different file formats for importing and provides the extension and writer type for each format.
Import super admin data as different predefined format
curl --request POST \
"http://localhost:8000/api/v1/import/account/superAdmin" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"architecto\"
}"
{
"message": "Imported successfully",
"0": 200,
"1": "success"
}
Import simple admin data as different predefined format
curl --request POST \
"http://localhost:8000/api/v1/import/account/admin" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"architecto\"
}"
{
"message": "Imported successfully",
"0": 200,
"1": "When successfully generated"
}
Import company account
curl --request POST \
"http://localhost:8000/api/v1/import/account/company" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"architecto\"
}"
{
"message": "Imported successfully",
"0": 200,
"1": "When successfully generated"
}
Add a new questionnaire to library
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/library/questionnaires/1/store" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "questionnaire added to library"
}
Remove a specific questionnaire to library
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/library/questionnaires/1/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "questionnaire removed to library"
}
Returns all information on the questionnaires associated with the libraries
the token provided mu be a user_roles token
Provide the id of the product
curl --request GET \
--get "http://localhost:8000/api/v1/library/products/1/visualize" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 3,
"updated_at": "2026-01-08T21:24:57.000000Z",
"questionnaire_id": 24,
"details": [],
"components": []
}
}
Returns all information on the questionnaires associated with the libraries
Provide the id of the product
curl --request GET \
--get "http://localhost:8000/api/v1/library/products/1/index" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 4,
"updated_at": "2026-01-08T21:24:57.000000Z",
"questionnaire_id": 25,
"details": [],
"components": []
}
}
Append a fresh questionnaire to library store.
id of questionnaireLibrary
curl --request POST \
"http://localhost:8000/api/v1/library/questionnaireLibrary/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"duration\": 16,
\"details\": [
{
\"language_id\": 16,
\"slogan\": \"n\",
\"description\": \"Animi quos velit et fugiat.\",
\"components\": {
\"detail\": [
\"architecto\"
],
\"key_point\": [
\"architecto\"
]
}
}
]
}"
{
"message": "update success"
}
curl --request POST \
"http://localhost:8000/api/v1/library/codes" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"architecto\",
\"column_number\": 16,
\"products\": [
16
]
}"
{
"message": "code created"
}
curl --request POST \
"http://localhost:8000/api/v1/library/codes/{code}/exists" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"architecto\"
}"
{
"data": {
"code_exits": false
}
}
curl --request GET \
--get "http://localhost:8000/api/v1/library/code/{code}/products" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Attempt to read property \"products\" on null",
"exception": "ErrorException",
"file": "/var/www/html/app/Http/Controllers/V1/Library/LibraryCodeProductController.php",
"line": 24,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php",
"line": 258,
"function": "handleError",
"class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
"type": "->"
},
{
"file": "/var/www/html/app/Http/Controllers/V1/Library/LibraryCodeProductController.php",
"line": 24,
"function": "Illuminate\\Foundation\\Bootstrap\\{closure}",
"class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
"line": 46,
"function": "__invoke",
"class": "App\\Http\\Controllers\\V1\\Library\\LibraryCodeProductController",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 265,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 211,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 822,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 26,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 25,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 821,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 800,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 764,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 753,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
"line": 19,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 109,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 61,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 58,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php",
"line": 22,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php",
"line": 26,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePathEncoding",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 256,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 249,
"function": "callLaravelRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 86,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 39,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 240,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 165,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 97,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 43,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 96,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 799,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 211,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 341,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 180,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1102,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 356,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 195,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 198,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1235,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 13,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
Update the current configuration
curl --request POST \
"http://localhost:8000/api/v1/library/configurations" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_secure\": false,
\"has_general_design\": false,
\"column_number\": 16
}"
List of current option
query parameter for get config for code
curl --request GET \
--get "http://localhost:8000/api/v1/library/configurations?code=xdf" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"is_secure": false,
"column_number": 2,
"url": "https://backend.test/library/commerciale",
"has_general_design": true
}
}
delete a code with all device attached to them in the application
Library access code product id
curl --request DELETE \
"http://localhost:8000/api/v1/library/libraryAccessCode/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "code deleted!"
}
List all the profiles and devices connected with their respective code in application
Product id
curl --request GET \
--get "http://localhost:8000/api/v1/library/libraryAccessCode/profiles?product=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product\": 16
}"
{
"data": [
{
"id": 1,
"code": "xde04",
"ip_address_count": 2,
"device_count": 4
},
{
"id": 2,
"code": "xfrde04",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 3,
"code": "xfrde05",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 4,
"code": "xfrde06",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 5,
"code": "fade07",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 6,
"code": "fade08",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 7,
"code": "34XFDEDEFD",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 8,
"code": "xfrde10",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 9,
"code": "xfrde11",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 10,
"code": "xfrde12",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 11,
"code": "xfrde13",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 12,
"code": "xfrde14",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 13,
"code": "xfrde15",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 14,
"code": "xfrde16",
"ip_address_count": 20,
"device_count": 42
},
{
"id": 15,
"code": "xfrde17",
"ip_address_count": 20,
"device_count": 42
},
]
}
curl --request GET \
--get "http://localhost:8000/api/v1/library/access" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
content-type
: text/html; charset=utf-8
cache-control
: no-cache, private
vary
: Origin
Manage the Message in our apps
Store a new message. (You must be authenticated as a voter)
curl --request POST \
"http://localhost:8000/api/v1/vote/message/store" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sender_email\": \"contact@example.com\",
\"subject\": \"Survey Feedback\",
\"message\": \"This is a feedback message for the survey.\"
}"
Get all the permissions assigned to a role
the guard name
global_adminsuper_adminsimple_admincurl --request GET \
--get "http://localhost:8000/api/v1/permissions/roles/global_admin/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Update permission for a specific role
the specified role
global_adminsuper_adminsimple_admincurl --request POST \
"http://localhost:8000/api/v1/permissions/roles/global_admin/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"permissions\": [
{
\"code\": \"REPORT_DESIGN_MANAGE\",
\"value\": false
}
]
}"
Get all the permissions assigned to a user
the id of user role
curl --request GET \
--get "http://localhost:8000/api/v1/permissions/userRole/16/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" assigns all the permissions assigned to a user
the id of user role
curl --request POST \
"http://localhost:8000/api/v1/permissions/userRole/16/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"permissions\": [
{
\"code\": \"SUBSCRIPTION_CREATE\",
\"value\": false
}
]
}"
Mise en place de la gestion des questionnaires
Questionnaires' themes list
The id of the questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/16/themes" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"questionnaire_id": null,
"order": null,
"is_deletable": true,
"created_at": null,
"translations": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=2",
"prev": null,
"next": "/?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "/?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "/?page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "/",
"per_page": 1,
"to": 1,
"total": 2
}
}
show a theme with all it's translations
the id of the theme to be showned
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/themes/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"questionnaire_id": null,
"order": null,
"is_deletable": true,
"created_at": null,
"translations": null
}
}
Delete a Theme
The id of the theme
curl --request DELETE \
"http://localhost:8000/api/v1/questionnaires/1themes/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "Theme deleted!"
}
Store a new theme and it's translations
Questionnaire id, must exist in the database
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/11/theme" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"theme_translations\": [
{
\"language_id\": 16,
\"content\": \"architecto\"
}
]
}"
{
"message": "Theme created!"
}
Update a theme translations
Id of the theme to be updated , must exist in the database
curl --request PUT \
"http://localhost:8000/api/v1/questionnaires/1/themes/7" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"theme_translations\": [
{
\"language_id\": 16,
\"content\": \"architecto\"
}
]
}"
{
"message": "Theme updated!"
}
Order up a theme
the id of questionnaire
the id of theme
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/up" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Order up a theme
the id of questionnaire
the id of theme
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/down" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Sub Theme |
id of questionnaire
id of questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "organization is not theme and sub theme",
"status": 400
}
Create a new sub theme
id of questionnaire
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"items\": [
{
\"language_id\": 16,
\"name\": \"n\"
}
]
}"
id of questionnaire
id of questionnaire
id of questionnaire
curl --request PUT \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"items\": [
{
\"language_id\": 16,
\"name\": \"n\"
}
]
}"
id of questionnaire
id of questionnaire
id of questionnaire
curl --request DELETE \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" the id of questionnaire
the id of theme
the id of sub theme
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes/1/up" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" the id of questionnaire
the id of theme
the id of sub theme
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/themes/1/subThemes/1/down" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" list of all questionnaire designs in application
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaireDesign" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "Classique",
"is_classic": true,
"title_color": "#6777ef",
"logo": "questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"logo_url": "http://localhost:8000/storage/questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"background_value": "http://localhost:8000/storage/#f4f6f9",
"original_background_value": "#f4f6f9",
"main_button_color": "#6777ef",
"main_button_text_color": "#ffffff",
"secondary_button_color": "#fc544b",
"secondary_button_text_color": "#ffffff",
"container_color": "#001e7c",
"progression_bar_free_space_color": "#e9ecef",
"progression_bar_filled_space_color": "#31bfbf",
"progression_bar_text_color": "#000000",
"single_choice_free_space_color": "#e9ecef",
"single_choice_filled_space_color": "#6777ef",
"previous_next_button_color": "#31bfbf",
"previous_next_button_text_color": "#ffffff",
"container_background_color": "#ffffff",
"container_opacity": 100,
"logo_has_border_radius": true,
"logo_has_border": true,
"theme_color": "#6777ef",
"question_text_color": "#34395e",
"answer_option_color": "#495057",
"comment_color": "#e83e8c",
"closing_text_color": "#001e7c",
"copyright_text": "Copyright © isiQuest 2023",
"copyright_text_color": "#34395e",
"vote_end_texts": {
"1": "Vote terminé<br>Merci de votre participation",
"2": "Vote ended<br>Thanks for participating",
"3": "Votación terminada<br>Gracias por participar",
"4": "Abstimmung beendet<br>Danke für die Teilnahme",
"5": "Votação encerrada<br>Obrigado por participar",
"6": "投票结束<br>感谢您的参与",
"7": "投票が終了しました<br>ご参加いただきありがとうございます",
"8": "Voto terminato<br>Grazie per aver partecipato",
"9": "Голосование завершено<br>Спасибо за участие",
"10": "Stemmen beëindigd<br>Bedankt voor uw deelname"
},
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"status_id": 1,
"questionnaire_background_type": {
"id": 1,
"name": "image",
"created_at": "2026-01-07T13:21:05.000000Z"
}
},
{
"id": 1,
"name": "Classique",
"is_classic": true,
"title_color": "#6777ef",
"logo": "questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"logo_url": "http://localhost:8000/storage/questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"background_value": "http://localhost:8000/storage/#f4f6f9",
"original_background_value": "#f4f6f9",
"main_button_color": "#6777ef",
"main_button_text_color": "#ffffff",
"secondary_button_color": "#fc544b",
"secondary_button_text_color": "#ffffff",
"container_color": "#001e7c",
"progression_bar_free_space_color": "#e9ecef",
"progression_bar_filled_space_color": "#31bfbf",
"progression_bar_text_color": "#000000",
"single_choice_free_space_color": "#e9ecef",
"single_choice_filled_space_color": "#6777ef",
"previous_next_button_color": "#31bfbf",
"previous_next_button_text_color": "#ffffff",
"container_background_color": "#ffffff",
"container_opacity": 100,
"logo_has_border_radius": true,
"logo_has_border": true,
"theme_color": "#6777ef",
"question_text_color": "#34395e",
"answer_option_color": "#495057",
"comment_color": "#e83e8c",
"closing_text_color": "#001e7c",
"copyright_text": "Copyright © isiQuest 2023",
"copyright_text_color": "#34395e",
"vote_end_texts": {
"1": "Vote terminé<br>Merci de votre participation",
"2": "Vote ended<br>Thanks for participating",
"3": "Votación terminada<br>Gracias por participar",
"4": "Abstimmung beendet<br>Danke für die Teilnahme",
"5": "Votação encerrada<br>Obrigado por participar",
"6": "投票结束<br>感谢您的参与",
"7": "投票が終了しました<br>ご参加いただきありがとうございます",
"8": "Voto terminato<br>Grazie per aver partecipato",
"9": "Голосование завершено<br>Спасибо за участие",
"10": "Stemmen beëindigd<br>Bedankt voor uw deelname"
},
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"status_id": 1,
"questionnaire_background_type": {
"id": 1,
"name": "image",
"created_at": "2026-01-07T13:21:05.000000Z"
}
}
]
}
curl --request POST \
"http://localhost:8000/api/v1/questionnaireDesign" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name="\
--form "title_color=#ccc"\
--form "is_background_image="\
--form "background_color=#ccc"\
--form "main_button_color=#ccc"\
--form "main_button_text_color=#ccc"\
--form "secondary_button_color=#ccc"\
--form "secondary_button_text_color=#ccc"\
--form "container_color=#ccc"\
--form "progression_bar_free_space_color=#ccc"\
--form "progression_bar_filled_space_color=#ccc"\
--form "progression_bar_text_color=#ccc"\
--form "single_choice_free_space_color=#ccc"\
--form "single_choice_filled_space_color=#ccc"\
--form "previous_next_button_color=#ccc"\
--form "previous_next_button_text_color=#ccc"\
--form "container_background_color=#ccc"\
--form "container_opacity=2"\
--form "logo_has_border_radius=1"\
--form "logo_has_border=1"\
--form "theme_color=#ccc"\
--form "question_text_color=#ccc"\
--form "closing_text_color=#ccc"\
--form "answer_option_color=#ccc"\
--form "comment_color=#ccc"\
--form "copyright_text=#ccc"\
--form "copyright_text_color=#ccc"\
--form "vote_end_texts[][language_id]=16"\
--form "vote_end_texts[][text]=architecto"\
--form "logo=@/tmp/phpoqJIwc" \
--form "background_image=@/tmp/phpkCrR21" Get a detail for a specific questionnaire design
id of questionnaire design
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaireDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"questionnaire_id\": 16
}"
{
"data": {
"id": 1,
"name": "Classique",
"is_classic": true,
"title_color": "#6777ef",
"logo": "questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"logo_url": "http://localhost:8000/storage/questionnaireDesign/2CZt0uL1sFoqJxwnW5CL888i8H68GT1C0FEfv3Wk.png",
"background_value": "http://localhost:8000/storage/#f4f6f9",
"original_background_value": "#f4f6f9",
"main_button_color": "#6777ef",
"main_button_text_color": "#ffffff",
"secondary_button_color": "#fc544b",
"secondary_button_text_color": "#ffffff",
"container_color": "#001e7c",
"progression_bar_free_space_color": "#e9ecef",
"progression_bar_filled_space_color": "#31bfbf",
"progression_bar_text_color": "#000000",
"single_choice_free_space_color": "#e9ecef",
"single_choice_filled_space_color": "#6777ef",
"previous_next_button_color": "#31bfbf",
"previous_next_button_text_color": "#ffffff",
"container_background_color": "#ffffff",
"container_opacity": 100,
"logo_has_border_radius": true,
"logo_has_border": true,
"theme_color": "#6777ef",
"question_text_color": "#34395e",
"answer_option_color": "#495057",
"comment_color": "#e83e8c",
"closing_text_color": "#001e7c",
"copyright_text": "Copyright © isiQuest 2023",
"copyright_text_color": "#34395e",
"vote_end_texts": {
"1": "Vote terminé<br>Merci de votre participation",
"2": "Vote ended<br>Thanks for participating",
"3": "Votación terminada<br>Gracias por participar",
"4": "Abstimmung beendet<br>Danke für die Teilnahme",
"5": "Votação encerrada<br>Obrigado por participar",
"6": "投票结束<br>感谢您的参与",
"7": "投票が終了しました<br>ご参加いただきありがとうございます",
"8": "Voto terminato<br>Grazie per aver partecipato",
"9": "Голосование завершено<br>Спасибо за участие",
"10": "Stemmen beëindigd<br>Bedankt voor uw deelname"
},
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"status_id": 1,
"questionnaire_background_type": {
"id": 1,
"name": "image",
"created_at": "2026-01-07T13:21:05.000000Z"
}
}
}
Update a questionnaire design
id of questionnaire design
curl --request PUT \
"http://localhost:8000/api/v1/questionnaireDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"dedede\",
\"title_color\": \"#ccc\",
\"is_background_image\": false,
\"background_color\": \"#ccc\",
\"main_button_color\": \"#ccc\",
\"main_button_text_color\": \"#ccc\",
\"secondary_button_color\": \"#ccc\",
\"secondary_button_text_color\": \"#ccc\",
\"container_color\": \"#ccc\",
\"progression_bar_free_space_color\": \"#ccc\",
\"progression_bar_filled_space_color\": \"#ccc\",
\"progression_bar_text_color\": \"#ccc\",
\"single_choice_free_space_color\": \"#ccc\",
\"single_choice_filled_space_color\": \"#ccc\",
\"previous_next_button_color\": \"#ccc\",
\"previous_next_button_text_color\": \"#ccc\",
\"container_background_color\": \"#ccc\",
\"container_opacity\": 2,
\"logo_has_border_radius\": true,
\"logo_has_border\": true,
\"theme_color\": \"#ccc\",
\"question_text_color\": \"#ccc\",
\"closing_text_color\": \"#ccc\",
\"answer_option_color\": \"#ccc\",
\"comment_color\": \"#ccc\",
\"copyright_text\": \"#ccc\",
\"copyright_text_color\": \"#ccc\",
\"vote_end_texts\": [
{
\"language_id\": 16,
\"text\": \"architecto\"
}
]
}"
{
"message": "questionnaire design updated!"
}
id of questionnaire design
curl --request DELETE \
"http://localhost:8000/api/v1/questionnaireDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "design deleted!"
}
Get vote end texts for all languages
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaireDesign/voteEndTexts" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"1": "Questionnaire terminer <br> merci de votre participation",
"2": "Questionnaire end <br> thank you for your participation",
"3": "cuestionario terminado <br> gracias por su participación",
"4": "Fragebogen beendet <br> danke für ihre teilnahme",
"5": "questionário terminado <br> obrigado por sua participação",
"6": "问卷结束 <br> 感谢您的参与",
"7": "アンケート終了 <br> ご参加ありがとうございました",
"8": "questionario terminato <br> grazie per la tua participation",
"9": "опрос завершен <br> спасибо за ваше участие",
"10": "vragenlijst beëindigd <br> bedankt voor uw deelname"
}
}
id of design
curl --request POST \
"http://localhost:8000/api/v1/questionnaireDesign/16/copy" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
{
"message": "copied"
}
List of report designs in application
Filter the design by is scope
genericspecificcurl --request GET \
--get "http://localhost:8000/api/v1/reportDesign?scope=generic" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "Classique",
"color_graph": [
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF"
],
"is_classic": true,
"color_title_cover": "#000000",
"color_title_section": "#001E7C",
"color_title_subtitle1": "#000000",
"color_title_subtitle2": "#000000",
"color_title_subtitle3": "#000000",
"color_title_footer_text": "#FFFFFF",
"color_title_footer_bg": "#6777EF",
"color_vote_percent_donut_chart": "#FFFFFF",
"open_question_odd_line_color": "#E9ECEF",
"open_question_odd_line_text_color": "#000000",
"open_question_even_line_color": "#FFFFFF",
"open_question_even_line_text_color": "#000000",
"prioritization_header_color": "#6777EF",
"prioritization_header_text_color": "#FFFFFF",
"prioritization_odd_line_color": "#E9ECEF",
"prioritization_odd_line_text_color": "#000000",
"prioritization_even_line_color": "#FFFFFF",
"prioritization_even_line_text_color": "#000000",
"color_question_title": "#001E7C",
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"report_design_scope_id": 1,
"report_preview_url": "http://localhost:8000/api/v1/reportDesign/1/previewPdf"
},
{
"id": 1,
"name": "Classique",
"color_graph": [
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF"
],
"is_classic": true,
"color_title_cover": "#000000",
"color_title_section": "#001E7C",
"color_title_subtitle1": "#000000",
"color_title_subtitle2": "#000000",
"color_title_subtitle3": "#000000",
"color_title_footer_text": "#FFFFFF",
"color_title_footer_bg": "#6777EF",
"color_vote_percent_donut_chart": "#FFFFFF",
"open_question_odd_line_color": "#E9ECEF",
"open_question_odd_line_text_color": "#000000",
"open_question_even_line_color": "#FFFFFF",
"open_question_even_line_text_color": "#000000",
"prioritization_header_color": "#6777EF",
"prioritization_header_text_color": "#FFFFFF",
"prioritization_odd_line_color": "#E9ECEF",
"prioritization_odd_line_text_color": "#000000",
"prioritization_even_line_color": "#FFFFFF",
"prioritization_even_line_text_color": "#000000",
"color_question_title": "#001E7C",
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"report_design_scope_id": 1,
"report_preview_url": "http://localhost:8000/api/v1/reportDesign/1/previewPdf"
}
]
}
Store a report design
curl --request POST \
"http://localhost:8000/api/v1/reportDesign" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"color_name\": \"architecto\",
\"color_title_cover\": \"architecto\",
\"color_title_footer_bg\": \"architecto\",
\"color_title_footer_text\": \"architecto\",
\"color_title_section\": \"architecto\",
\"color_title_subtitle1\": \"architecto\",
\"color_title_subtitle2\": \"architecto\",
\"color_title_subtitle3\": \"architecto\",
\"color_vote_percent_donut_chart\": \"architecto\",
\"color_graph\": [
\"architecto\"
],
\"is_generic\": false,
\"open_questions_odd_line_color\": \"architecto\",
\"open_questions_odd_line_text_color\": \"architecto\",
\"open_questions_even_line_color\": \"architecto\",
\"open_questions_even_line_text_color\": \"architecto\",
\"prioritization_header_color\": \"architecto\",
\"prioritization_header_text_color\": \"architecto\",
\"prioritization_odd_line_color\": \"architecto\",
\"prioritization_odd_line_text_color\": \"architecto\",
\"prioritization_even_line_color\": \"architecto\",
\"prioritization_even_line_text_color\": \"architecto\",
\"color_questions_title\": \"architecto\"
}"
{
"message": "design created"
}
Get a detail for a specific report design
Id of report design
curl --request GET \
--get "http://localhost:8000/api/v1/reportDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 16
}"
{
"data": {
"id": 1,
"name": "Classique",
"color_graph": [
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF",
"#6777EF"
],
"is_classic": true,
"color_title_cover": "#000000",
"color_title_section": "#001E7C",
"color_title_subtitle1": "#000000",
"color_title_subtitle2": "#000000",
"color_title_subtitle3": "#000000",
"color_title_footer_text": "#FFFFFF",
"color_title_footer_bg": "#6777EF",
"color_vote_percent_donut_chart": "#FFFFFF",
"open_question_odd_line_color": "#E9ECEF",
"open_question_odd_line_text_color": "#000000",
"open_question_even_line_color": "#FFFFFF",
"open_question_even_line_text_color": "#000000",
"prioritization_header_color": "#6777EF",
"prioritization_header_text_color": "#FFFFFF",
"prioritization_odd_line_color": "#E9ECEF",
"prioritization_odd_line_text_color": "#000000",
"prioritization_even_line_color": "#FFFFFF",
"prioritization_even_line_text_color": "#000000",
"color_question_title": "#001E7C",
"created_at": "2026-01-07T13:21:06.000000Z",
"updated_at": "2026-01-07T13:21:06.000000Z",
"report_design_scope_id": 1,
"report_preview_url": "http://localhost:8000/api/v1/reportDesign/1/previewPdf"
}
}
id of report design
curl --request PUT \
"http://localhost:8000/api/v1/reportDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"color_name\": \"architecto\",
\"color_title_cover\": \"architecto\",
\"color_title_footer_bg\": \"architecto\",
\"color_title_footer_text\": \"architecto\",
\"color_title_section\": \"architecto\",
\"color_title_subtitle1\": \"architecto\",
\"color_title_subtitle2\": \"architecto\",
\"color_title_subtitle3\": \"architecto\",
\"color_vote_percent_donut_chart\": \"architecto\",
\"color_graph\": [
\"architecto\"
],
\"is_generic\": false,
\"open_questions_odd_line_color\": \"architecto\",
\"open_questions_odd_line_text_color\": \"architecto\",
\"open_questions_even_line_color\": \"architecto\",
\"open_questions_even_line_text_color\": \"architecto\",
\"prioritization_header_color\": \"architecto\",
\"prioritization_header_text_color\": \"architecto\",
\"prioritization_odd_line_color\": \"architecto\",
\"prioritization_odd_line_text_color\": \"architecto\",
\"prioritization_even_line_color\": \"architecto\",
\"prioritization_even_line_text_color\": \"architecto\",
\"color_questions_title\": \"architecto\"
}"
{
"message": "design updated!"
}
Delete a specific report design
id of report design
curl --request DELETE \
"http://localhost:8000/api/v1/reportDesign/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "design deleted!"
}
id of report design
curl --request POST \
"http://localhost:8000/api/v1/reportDesign/1/copy" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"is_generic\": false
}"
{
"message": "copied"
}
id of report design
curl --request GET \
--get "http://localhost:8000/api/v1/reportDesign/1/statisticData" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "copied"
}
endpoint for voter
token
curl --request POST \
"http://localhost:8000/api/v1/login/anonymous/4dqendiqenidqe/access" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"auth": [],
"token": "token29933"
}
}
token
curl --request POST \
"http://localhost:8000/api/v1/login/nominative/4dqendiqenidqe/access" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"auth": [],
"token": "token29933"
}
}
Jeton encodé pour identifiant votant nominatif
curl --request POST \
"http://localhost:8000/api/v1/login/nominative/c29tZS10b2tlbg==/accessRefusal" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"auth": [],
"token": "token29933"
}
}
token
curl --request POST \
"http://localhost:8000/api/v1/login/anonymous/4dqendiqenidqe/accessRefusal" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"auth": [],
"token": "token29933"
}
}
token
curl --request POST \
"http://localhost:8000/api/v1/login/questionnaires/4dqendiqenidqe/access" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"auth": [],
"token": "token29933"
}
}
curl --request POST \
"http://localhost:8000/api/v1/dashboard/voters/profile/update" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"surname\": \"n\",
\"generic_language_id\": \"architecto\"
}"
{
"message": "success",
"status": 200
}
Reset voter answers
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/access/1/regenerate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
endpoint for voter list
id of company
id of questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/voters/questionnaires/1/voters" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"email": null,
"access_type_id": null,
"status_id": null,
"company_id": null,
"created_at": null,
"properties": [],
"generic_language_id": null,
"revert_deletion_type": null
},
{
"id": null,
"email": null,
"access_type_id": null,
"status_id": null,
"company_id": null,
"created_at": null,
"properties": [],
"generic_language_id": null,
"revert_deletion_type": null
}
]
}
endpoint for create new voter
type of access
nominativeanonymous_auto_generatedlang of email
FrenchEnglishSpanishGermanPortugueseChineseJapaneseItalyRussianDutchcurl --request POST \
"http://localhost:8000/api/v1/voters/questionnaire/1/store?emailLang=French" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"gbailey@example.net\",
\"questionnaire_id\": \"architecto\"
}"
{
"message": "success"
}
append voter to add questionnaire
id of the voter
id of questionnaire to add to
curl --request POST \
"http://localhost:8000/api/v1/voters/1/questionnaires/1/append" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
remove voter from questionnaire
id of the voter
id of questionnaire to add to
curl --request POST \
"http://localhost:8000/api/v1/voters/questionnaires/1/remove" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Deactivate a voter questionnaire
id of the voter questionnaire
curl --request POST \
"http://localhost:8000/api/v1/voters/questionnaires/1/deactivate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
endpoint for delete voter
id of the voterQuestionnaireId
curl --request DELETE \
"http://localhost:8000/api/v1/voters/questionnaires/voters/1/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Voter join request delete
id of the joined request
curl --request DELETE \
"http://localhost:8000/api/v1/voters/joinedRequests/1/delete" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Reactivate a disabled voter account
id of the voter
id of the company
curl --request POST \
"http://localhost:8000/api/v1/voters/1/10/reactivate" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Reactivate a disabled voter account
id of the voter
id of the company
curl --request POST \
"http://localhost:8000/api/v1/voters/requests/1/cannotRevertDeletion/restore" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Generate single access for a voter
The ID of the questionnaire
The ID of the voter questionnaire
curl --request POST \
"http://localhost:8000/api/v1/voters/questionnaires/1/1/generateAccess" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
curl --request POST \
"http://localhost:8000/api/v1/voters/actions/creation/{token}/validate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"c8f2c08f-8337-3956-96b6-0f682f49fb6f\",
\"name\": \"Danielle\",
\"generic_language\": \"architecto\",
\"surname\": \"architecto\",
\"privacy_policy\": true,
\"email\": \"blin.jeannine@example.org\",
\"password\": \"password\",
\"password_confirmation\": \"password\"
}"
{
"message": "success",
"status": 200
}
token received in email creation for the voter
curl --request GET \
--get "http://localhost:8000/api/v1/voters/actions/creation/$eyIdkk030495fjxf940/validate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
token received in email creation for the voter
curl --request POST \
"http://localhost:8000/api/v1/voters/actions/append/xjdejde/validate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"a4855dc5-0acb-33c3-b921-f4291f719ca0\",
\"name\": \"Susanne\",
\"surname\": \"architecto\",
\"email\": \"desousa.gabrielle@example.com\",
\"password\": \"password\",
\"password_confirmation\": \"password\",
\"generic_language\": \"Italy\"
}"
{
"message": "success",
"status": 200
}
token received in email creation for the voter
curl --request GET \
--get "http://localhost:8000/api/v1/voters/actions/append/xjdejde/validate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
This endpoint undo deletion of endpoint make by the admin
Token Obtained after requesting deletion for the first 24 hours
curl --request POST \
"http://localhost:8000/api/v1/voters/actions/delete/$eyvjde93939399494kjndqeiudoqeduqe030/undo/by-admin" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
endpoint for vote
get list of questions
page number of pagination
curl --request GET \
--get "http://localhost:8000/api/v1/vote/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"questions": [],
"metadata": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 10
}
}
}
register a vote answer
page number of pagination
curl --request POST \
"http://localhost:8000/api/v1/vote/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"language\": \"architecto\",
\"navigation_direction\": \"architecto\",
\"items\": [
{
\"question_item_id\": 16,
\"response_item_text\": \"n\",
\"responses\": [
{
\"response_item_id\": 16,
\"response_item_value\": 16,
\"response_item_order\": 16
}
],
\"response_item_type\": \"architecto\",
\"sub_questions\": [
{
\"response_item_id\": 16,
\"response_item_value\": 16
}
]
}
]
}"
{
"message": "success",
"status": 200
}
Decline a vote
curl --request POST \
"http://localhost:8000/api/v1/vote/actions/deny" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Start a vote
curl --request POST \
"http://localhost:8000/api/v1/vote/actions/startVote" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"language\": \"architecto\"
}"
{
"message": "success",
"status": 200
}
get list of questions
curl --request GET \
--get "http://localhost:8000/api/v1/vote/response/all" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"questions": []
}
}
Get One Link Resume Info
curl --request GET \
--get "http://localhost:8000/api/v1/vote/oneLink/resume/architecto?voter_questionnaire_id=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"questionnaire": {
"id": 1,
"title": "questionnaire title"
},
"auth": {
"id": 1,
"questionnaire": []
}
}
}
Manage Message
Retrieve a list of all messages.
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/voters/voterMessages" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"questionnaire_id": null,
"sender_email": null,
"subject": null,
"message": null,
"created_at": null,
"updated_at": null,
"is_read": false
},
{
"id": null,
"questionnaire_id": null,
"sender_email": null,
"subject": null,
"message": null,
"created_at": null,
"updated_at": null,
"is_read": false
}
]
}
Show a specific message by ID
The ID of the voter message
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/voters/voterMessages/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"questionnaire_id": null,
"sender_email": null,
"subject": null,
"message": null,
"created_at": null,
"updated_at": null,
"is_read": false
},
"nextId": 1,
"prevId": 2
}
Delete a specific message by ID
The ID of the voter message
curl --request DELETE \
"http://localhost:8000/api/v1/dashboard/userRole/voters/voterMessages/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Count the number of messages.
curl --request GET \
--get "http://localhost:8000/api/v1/dashboard/userRole/voters/voterMessageCount" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"voter_messages_total_count": 3,
"voter_messages_unread_count": 1
}
}
Introductory text sub groups
Store introductory texts
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/16/introductoryTexts" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"items\": [
{
\"content\": \"architecto\",
\"is_visible\": true,
\"language_id\": 16,
\"type\": \"architecto\"
}
]
}"
{
"message": "success",
"status": 200
}
detail
id of questionnaire
Type of introductory text
introductionresultconclusionmethod_conceptmethod_admingeneral_informationsstrengths_sectionimprovement_pointsopen_questionsdevelopment_planid of language
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/16/introductoryTexts/introduction/translation/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"is_visible": true,
"introductory_text_type_id": 6,
"created_at": "2026-01-07T13:22:48.000000Z",
"updated_at": "2026-01-07T13:22:48.000000Z",
"introductory_type": {
"id": 6,
"label": "general_informations",
"created_at": "2026-01-07T13:21:17.000000Z",
"updated_at": "2026-01-07T13:21:17.000000Z"
},
"translation": {
"id": 1,
"language_id": 1,
"value": " <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:12pt;margin-bottom:0pt;padding:0pt 0pt 12pt 0pt;\"><span style=\"font-size:13.999999999999998pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Définition théorique du 360</span></p>\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:12pt;\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">L'évaluation 360° est un processus d'évaluation qui recueille des feedbacks de multiples sources dans votre entourage professionnel (par exemple : vos collègues, vos supérieurs, vos subordonnés, etc). Cette approche vous offre une vue d'ensemble de vos compétences et de votre comportement, en tenant compte de diverses perspectives. Voici comment l'évaluation 360° peut vous apporter une réelle valeur ajoutée :</span></p>\n <ul style=\"margin-top:0;margin-bottom:0;padding-inline-start:48px;\">\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:12pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Une vision globale et équilibrée</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Vous recevez des retours variés qui vous permettent de mieux comprendre votre impact sur l'ensemble de votre environnement professionnel.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">La reconnaissance de vos forces</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Les feedbacks que vous recevez vous permettent de prendre conscience de vos points forts et de les utiliser encore plus efficacement dans votre travail.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">L’identification de vos axes d'amélioration</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Grâce aux observations constructives de vos collègues et collaborateurs, vous identifiez clairement les domaines où vous pouvez progresser.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">L'amélioration de vos relations de travail</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Vous comprenez mieux l’effet de vos interactions sur les autres, ce qui vous permet d’ajuster votre approche pour renforcer la collaboration.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Un encouragement au développement personnel</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Ces retours vous permettent de définir des objectifs concrets pour votre développement, en vous appuyant sur des feedbacks précis.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Un alignement avec les attentes organisationnelles</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Vous adaptez votre performance et votre comportement pour mieux répondre aux attentes de votre équipe et de votre entreprise.</span></p>\n </li>\n <li dir=\"ltr\" style=\"list-style-type:disc;font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;\" aria-level=\"1\">\n <p dir=\"ltr\" style=\"line-height:1.38;text-align: justify;background-color:#ffffff;margin-top:0pt;margin-bottom:0pt;padding:0pt 0pt 12pt 0pt;\" role=\"presentation\"><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Un renforcement de la transparence et de la confiance</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : En participant à ce processus, vous contribuez à instaurer une culture de feedback continu et à renforcer la confiance au sein de votre organisation.</span></p>\n </li>\n </ul><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">Un outil pour renforcer votre leadership</span><span style=\"font-size:11pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\"> : Si vous êtes manager, l'évaluation 360° vous permet de comprendre comment votre leadership est perçu et de l'améliorer pour être encore plus efficace.</span>\n</strong></p>",
"created_at": "2026-01-07T13:22:48.000000Z",
"updated_at": "2026-01-07T13:22:48.000000Z"
}
}
}
Conditions
Get introductory texts
id of questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/16/conditions" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 2,
"required": true,
"questionnaire_id": 10,
"question_type_id": 7,
"translations": null,
"translation": {
"id": 1,
"question_item_id": 2,
"language_id": 1,
"comment": null,
"label": "Nom",
"updated_at": "2026-01-07T13:21:18.000000Z"
},
"question_type": {
"id": 7,
"label": "open_question",
"created_at": "2026-01-07T13:21:06.000000Z"
},
"theme": null,
"order": 2,
"manual_sliced": false,
"updated_at": "2026-01-07T13:21:18.000000Z",
"properties": [],
"components": [],
"target_condition_count": null,
"source_condition_count": null,
"question_answers_count": null
},
{
"id": 2,
"required": true,
"questionnaire_id": 10,
"question_type_id": 7,
"translations": null,
"translation": {
"id": 1,
"question_item_id": 2,
"language_id": 1,
"comment": null,
"label": "Nom",
"updated_at": "2026-01-07T13:21:18.000000Z"
},
"question_type": {
"id": 7,
"label": "open_question",
"created_at": "2026-01-07T13:21:06.000000Z"
},
"theme": null,
"order": 2,
"manual_sliced": false,
"updated_at": "2026-01-07T13:21:18.000000Z",
"properties": [],
"components": [],
"target_condition_count": null,
"source_condition_count": null,
"question_answers_count": null
}
]
}
description
Get all list email for a specific questionnaire in lastest saving language
id of questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/generatedEmails" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"available_scopes": [
"END_VOTE",
"START_VOTE",
"REMINDER_VOTE",
"REFUSE_VOTE",
"INACTIVE_VOTE"
],
"emails": {
"END_VOTE": {
"subject": "Accès au rapport du Sondage isiQuest",
"content": "...",
"recipients": [],
"language_id": 1,
"description": "Cet email est déclenché par le passage d'un questionnaire en phase \"résultat\". Il est envoyé à l'administrateur du questionnaire ainsi qu'aux personnes renseignées par ce dernier.",
"content_parameters": [
"[TITRE]",
"[URL]",
"[CODE ACCESS]"
],
"subject_parameters": []
},
"START_VOTE": {
"subject": "subjet en",
"content": "...",
"recipients": [
"lucchuala@gmail.com",
"test@gmail.come"
],
"language_id": 2,
"description": "This email is triggered when a questionnaire enters the \"voting\" phase. It is sent to voters. Access Mode : \"Anonymous- Self-generated\", regardless of the e-mail generation configuration.",
"content_parameters": [
"[TITLE]",
"[USER ACCOUNT]",
"[DIRECT ACCESS URL BUTTON]",
"[DECLINE VOTE BUTTON]",
"[VOTING END DATE]"
],
"subject_parameters": []
},
"REMINDER_VOTE": {
"subject": "Relance participation à un Sondage isiQuest",
"content": "...",
"recipients": [],
"language_id": 1,
"description": "Cet email est déclenché par le passage à une des dates de relance d'un questionnaire. Il est envoyé aux votants. Modalité d'accès : \"Anonyme - Autogénéré\", peu importe la configuration de Génération d'email auto.",
"content_parameters": [
"[TITRE]",
"[Compte Utilisateur]",
"[DATE DE FIN DE VOTE]",
"[BOUTON REFUS DE VOTE]",
"[BOUTON URL ACCES DIRECT]"
],
"subject_parameters": []
},
"REFUSE_VOTE": {
"subject": "Refus de vote sondage isiQuest",
"content": "...",
"recipients": [],
"language_id": 1,
"description": "Cet email est déclenché par un refus de vote. Il est envoyé aux votants. Modalité d'accès : \"Nominatif - Autogénéré\" ou \"Anonyme - Autogénéré\", peu importe la configuration de Génération d'email auto.",
"content_parameters": [
"[TITRE]",
"[Compte Utilisateur]"
],
"subject_parameters": []
},
"INACTIVE_VOTE": {
"subject": "Réactivation du Sondage isiQuest",
"content": "...",
"recipients": [],
"language_id": 1,
"description": "Cet email est déclenché par le passage d'un questionnaire en phase \"vote\" après avoir été en phase d'inactivité. Il est envoyé aux votants. Modalité d'accès : \"Anonyme Autogénéré\", peu importe la configuration de Génération d'email auto.",
"content_parameters": [
"[TITRE]",
"[BOUTON URL ACCES DIRECT]",
"[BOUTON REFUS DE VOTE]",
"[DATE DE FIN DE VOTE]"
],
"subject_parameters": []
}
},
"questionnaire_id": 23
}
Update all generated email for a questionnaire
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/generatedEmails" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email_administration_language_id\": 16,
\"emails\": [
{
\"scope\": \"architecto\",
\"language_id\": 16,
\"content\": \"architecto\",
\"subject\": \"architecto\",
\"recipients\": [
\"zbailey@example.net\"
]
}
]
}"
{
"message": "success",
"status": 200
}
Get data about one specific generated email
id of questionnaire
id of language
Represent the scope of the email
START_VOTEREFUSE_VOTEINACTIVE_VOTEREMINDER_VOTEEND_VOTEcurl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/generatedEmails/START_VOTE/language/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"subject": "subjet fr",
"recipients": [
"lucchuala@gmail.com",
"test@gmail.come"
],
"language_id": 1,
"content": "content fr",
"description": "Cet email est déclenché par le passage d'un questionnaire en phase \"vote\". Il est envoyé aux votants. Modalité d'accès : \"Anonyme - Autogénéré\", peu importe la configuration de Génération d'email auto.",
"content_parameters": [
"[TITRE]",
"[Compte Utilisateur]",
"[BOUTON URL ACCES DIRECT]",
"[BOUTON REFUS DE VOTE]",
"[DATE DE FIN DE VOTE]"
],
"subject_parameters": []
}
}
Get default data email for a generated email
id of questionnaire
id of language
Represent the scope of the email
START_VOTEREFUSE_VOTEINACTIVE_VOTEREMINDER_VOTEEND_VOTEcurl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/generatedEmails/START_VOTE/language/1/defaultContent" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
List questionnaire email designs
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/16/emailDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "Classique",
"image": "emailDesigns/1",
"is_classic": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"image_link": "http://localhost:8000/storage/emailDesigns/1",
"all_content_loaded": true
},
{
"id": 1,
"name": "Classique",
"image": "emailDesigns/1",
"is_classic": true,
"created_at": "2026-01-07T13:21:06.000000Z",
"image_link": "http://localhost:8000/storage/emailDesigns/1",
"all_content_loaded": true
}
]
}
Store questionnaire email design
id of questionnaire
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/1/emailDesigns" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email_design_id\": 16
}"
{
"message": "success",
"status": 200
}
Access
endpoint for voter list
id of questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/access/voters" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"questionnaire_id": null,
"voter_id": null,
"status_id": null,
"vote_status_id": null,
"generate_email_at": null,
"has_try_inactive": null,
"start_vote_at": null,
"created_at": null,
"nominative_access_link": "",
"updated_at": null,
"access_link": "",
"question_answers_count": null
},
{
"id": null,
"questionnaire_id": null,
"voter_id": null,
"status_id": null,
"vote_status_id": null,
"generate_email_at": null,
"has_try_inactive": null,
"start_vote_at": null,
"created_at": null,
"nominative_access_link": "",
"updated_at": null,
"access_link": "",
"question_answers_count": null
}
]
}
Text Scales operations here.
The list of all text scales belonging to a user, plus the others where field PRIVATE=0, all with their translated components
If pagination is needed, enter the number of elements per page
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/{questionnaireId}/textScales?paginate=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"text_scales": [],
"numeric_scales": []
}
}
Show a text scale with all it's compents' translations
The id of the text scale to be showned
curl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/textScales/1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"is_private": false,
"user_role_id": 1,
"no_opinion": false,
"is_active": true,
"text_scale_items": [
{
"id": 1,
"text_scale_id": 1,
"order": 1,
"text_scale_item_translations": [
{
"id": 1,
"text_scale_item_id": 1,
"language": {
"id": 1,
"name": "French",
"acronym": "fr"
},
"label": "OUI"
},
{
"id": 2,
"text_scale_item_id": 1,
"language": {
"id": 2,
"name": "English",
"acronym": "en"
},
"label": "YES"
},
{
"id": 3,
"text_scale_item_id": 1,
"language": {
"id": 3,
"name": "Spanish",
"acronym": "es"
},
"label": "OUI"
},
{
"id": 4,
"text_scale_item_id": 1,
"language": {
"id": 4,
"name": "German",
"acronym": "de"
},
"label": "OUI"
},
{
"id": 5,
"text_scale_item_id": 1,
"language": {
"id": 5,
"name": "Portuguese",
"acronym": "pt"
},
"label": "OUI"
},
{
"id": 6,
"text_scale_item_id": 1,
"language": {
"id": 6,
"name": "Chinese",
"acronym": "cn"
},
"label": "OUI"
},
{
"id": 7,
"text_scale_item_id": 1,
"language": {
"id": 7,
"name": "Japanese",
"acronym": "jp"
},
"label": "OUI"
},
{
"id": 8,
"text_scale_item_id": 1,
"language": {
"id": 8,
"name": "Italy",
"acronym": "it"
},
"label": "OUI"
},
{
"id": 9,
"text_scale_item_id": 1,
"language": {
"id": 9,
"name": "Russian",
"acronym": "ru"
},
"label": "OUI"
},
{
"id": 10,
"text_scale_item_id": 1,
"language": {
"id": 10,
"name": "Dutch",
"acronym": "nl"
},
"label": "OUI"
}
]
},
{
"id": 2,
"text_scale_id": 1,
"order": 2,
"text_scale_item_translations": [
{
"id": 16,
"text_scale_item_id": 2,
"language": {
"id": 1,
"name": "French",
"acronym": "fr"
},
"label": "NON"
},
{
"id": 17,
"text_scale_item_id": 2,
"language": {
"id": 2,
"name": "English",
"acronym": "en"
},
"label": "NO"
},
{
"id": 18,
"text_scale_item_id": 2,
"language": {
"id": 3,
"name": "Spanish",
"acronym": "es"
},
"label": "NON"
},
{
"id": 19,
"text_scale_item_id": 2,
"language": {
"id": 4,
"name": "German",
"acronym": "de"
},
"label": "NON"
},
{
"id": 20,
"text_scale_item_id": 2,
"language": {
"id": 5,
"name": "Portuguese",
"acronym": "pt"
},
"label": "NON"
},
{
"id": 21,
"text_scale_item_id": 2,
"language": {
"id": 6,
"name": "Chinese",
"acronym": "cn"
},
"label": "NON"
},
{
"id": 22,
"text_scale_item_id": 2,
"language": {
"id": 7,
"name": "Japanese",
"acronym": "jp"
},
"label": "NON"
},
{
"id": 23,
"text_scale_item_id": 2,
"language": {
"id": 8,
"name": "Italy",
"acronym": "it"
},
"label": "NON"
},
{
"id": 24,
"text_scale_item_id": 2,
"language": {
"id": 9,
"name": "Russian",
"acronym": "ru"
},
"label": "NON"
},
{
"id": 25,
"text_scale_item_id": 2,
"language": {
"id": 10,
"name": "Dutch",
"acronym": "nl"
},
"label": "NON"
}
]
},
{
"id": 3,
"text_scale_id": 1,
"order": 3,
"text_scale_item_translations": [
{
"id": 31,
"text_scale_item_id": 3,
"language": {
"id": 1,
"name": "French",
"acronym": "fr"
},
"label": "PEUT-ETRE"
},
{
"id": 32,
"text_scale_item_id": 3,
"language": {
"id": 2,
"name": "English",
"acronym": "en"
},
"label": "MAYBE"
},
{
"id": 33,
"text_scale_item_id": 3,
"language": {
"id": 3,
"name": "Spanish",
"acronym": "es"
},
"label": "PEUT-ETRE"
},
{
"id": 34,
"text_scale_item_id": 3,
"language": {
"id": 4,
"name": "German",
"acronym": "de"
},
"label": "PEUT-ETRE"
},
{
"id": 35,
"text_scale_item_id": 3,
"language": {
"id": 5,
"name": "Portuguese",
"acronym": "pt"
},
"label": "PEUT-ETRE"
},
{
"id": 36,
"text_scale_item_id": 3,
"language": {
"id": 6,
"name": "Chinese",
"acronym": "cn"
},
"label": "PEUT-ETRE"
},
{
"id": 37,
"text_scale_item_id": 3,
"language": {
"id": 7,
"name": "Japanese",
"acronym": "jp"
},
"label": "PEUT-ETRE"
},
{
"id": 38,
"text_scale_item_id": 3,
"language": {
"id": 8,
"name": "Italy",
"acronym": "it"
},
"label": "PEUT-ETRE"
},
{
"id": 39,
"text_scale_item_id": 3,
"language": {
"id": 9,
"name": "Russian",
"acronym": "ru"
},
"label": "PEUT-ETRE"
},
{
"id": 40,
"text_scale_item_id": 3,
"language": {
"id": 10,
"name": "Dutch",
"acronym": "nl"
},
"label": "PEUT-ETRE"
}
]
}
]
}
}
Store a new text scale and it's translations
curl --request POST \
"http://localhost:8000/api/v1/questionnaires/{questionnaireId}/textScales" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_private\": true,
\"no_opinion\": false,
\"items\": [
{
\"order\": 16,
\"translations\": [
{
\"language_id\": 16,
\"content\": \"architecto\"
}
]
}
]
}"
{
"message": "TextScale created!"
}
Update a text scale in a single language
Id of the text scale to be updated , must exist in the database
curl --request PUT \
"http://localhost:8000/api/v1/questionnaires/1/textScales/7" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_private\": false,
\"no_opinion\": true,
\"language_id\": 16,
\"items\": [
{
\"item_id\": 16,
\"content\": \"architecto\"
}
]
}"
{
"message": "success",
"status": 200
}
Delete a text scale and it's translations.
The id of the Text Scale to be deleted.
curl --request DELETE \
"http://localhost:8000/api/v1/questionnaires/1/textScales/16" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Export user textScales
The format of the file to export. Can be 'csv' or 'excel'. the default is 'csv'
csvxlsxThe platform language . Can be 'en' or 'fr'. the default is 'fr'
csvxlsxcurl --request GET \
--get "http://localhost:8000/api/v1/questionnaires/1/textScales/export/xlsx/xlsx" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -
Module visu
List all questionnaires of the authenticated visu
curl --request GET \
--get "http://localhost:8000/api/v1/visu/home/questionnaires" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 10,
"start_date": "2026-01-07T13:21:18.000000Z",
"end_date": "2026-01-08T13:21:18.000000Z",
"phase_changed_at": null,
"created_at": "2026-01-07T13:21:18.000000Z",
"updated_at": "2026-01-07T13:21:18.000000Z",
"email_administration_language_id": 1,
"email_design_id": null,
"language_id": 1,
"last_slice_id": null,
"phase_id": 2,
"questionnaire_design_id": null,
"slice_id": 1,
"properties": {
"max_voters": 500,
"access_type_id": 1,
"has_generated_email": false
},
"title": "Webinaire (Default)",
"parsed_contents": {
"title": {
"1": "Webinaire (Default)"
}
},
"product": {
"id": 1,
"name": "survey",
"image_url": null,
"description": "sondage description"
},
"question_items_count": null,
"access_type": {
"id": 1,
"name": "anonymous_one_link",
"code": "ANONYMOUS_ONE_LINK"
},
"is_webinaire": false,
"is_default_webinaire_questionnaire": true,
"webinaire_link": "",
"has_changed_phase_into_creation": 0,
"has_email_generation": false,
"one_link_access_url": "http://localhost:3000/actions/voter/signin/onelink/MTA=",
"superadmin_has_access": true,
"recommandation": null,
"presentation": null,
"voter_questionnaires_count": null,
"refusal_voter_questionnaires_count": 0,
"completed_voter_questionnaires_count": 0,
"pending_voter_questionnaires_count": 0
},
{
"id": 10,
"start_date": "2026-01-07T13:21:18.000000Z",
"end_date": "2026-01-08T13:21:18.000000Z",
"phase_changed_at": null,
"created_at": "2026-01-07T13:21:18.000000Z",
"updated_at": "2026-01-07T13:21:18.000000Z",
"email_administration_language_id": 1,
"email_design_id": null,
"language_id": 1,
"last_slice_id": null,
"phase_id": 2,
"questionnaire_design_id": null,
"slice_id": 1,
"properties": {
"max_voters": 500,
"access_type_id": 1,
"has_generated_email": false
},
"title": "Webinaire (Default)",
"parsed_contents": {
"title": {
"1": "Webinaire (Default)"
}
},
"product": {
"id": 1,
"name": "survey",
"image_url": null,
"description": "sondage description"
},
"question_items_count": null,
"access_type": {
"id": 1,
"name": "anonymous_one_link",
"code": "ANONYMOUS_ONE_LINK"
},
"is_webinaire": false,
"is_default_webinaire_questionnaire": true,
"webinaire_link": "",
"has_changed_phase_into_creation": 0,
"has_email_generation": false,
"one_link_access_url": "http://localhost:3000/actions/voter/signin/onelink/MTA=",
"superadmin_has_access": true,
"recommandation": null,
"presentation": null,
"voter_questionnaires_count": null,
"refusal_voter_questionnaires_count": 0,
"completed_voter_questionnaires_count": 0,
"pending_voter_questionnaires_count": 0
}
]
}
Get global statistic of a questionnaire
The id of the questionnaire
curl --request GET \
--get "http://localhost:8000/api/v1/visu/questionnaires/1/statistics" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Get statistic of a questionnaire with filter
The id of the questionnaire