This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
Account group
Retrieve the currently authenticated user's information. This includes details like the user's profile, roles, and associated departments or events.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/dashboard/user" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
}
Update a profile from the application
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/profile/updateProfile" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=excepturi"\
--form "address=dolorem"\
--form "surname=eos"\
--form "phone_number=accusamus"\
--form "has_image="\
--form "image=@C:\Users\Kamix\AppData\Local\Temp\php494B.tmp" {
"message": "success",
"status": 200
}
Update a password from the application
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/profile/updatePassword" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"old_password\": \"culpa\",
\"password\": \"4\\\\C6N`<*6j\"
}"
{
"message": "success",
"status": 200
}
List all requests related to departments that the authenticated user has submitted. This includes pending, approved, or rejected requests for joining departments.
the type of status returned
allpendingapprovedrejectedcurl --request GET \
--get "https://icc.goulbam.com/api/v1/dashboard/user/departments/my/requests?status=all" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"user_id": 11,
"approved_at": null,
"rejected_at": null,
"status": "pending",
"request_id": "4d038f60-5b9d-38bc-a177-05f382660976",
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z",
"department_id": 1,
"department": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
},
{
"id": 1,
"user_id": 11,
"approved_at": null,
"rejected_at": null,
"status": "pending",
"request_id": "4d038f60-5b9d-38bc-a177-05f382660976",
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z",
"department_id": 1,
"department": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
]
}
Submit a request to join a specific department within the system. This action triggers the approval process where department heads can review the user's request.
id of department
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/user/departments/1/requests/join" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"user_id": 11,
"approved_at": null,
"rejected_at": null,
"status": "pending",
"request_id": "4d038f60-5b9d-38bc-a177-05f382660976",
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z",
"department_id": 1
}
}
Leave a department that i have joined
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/user/departments/1/leave" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
This endpoint is for users who want to track their own event participation requests. It lists all the events where the user has submitted a request, whether pending, approved, or rejected. This helps users stay informed about their event involvement.
the type of status returned
allpendingapprovedrejectedcurl --request GET \
--get "https://icc.goulbam.com/api/v1/dashboard/user/events/my/requests?status=all" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"request_id": "velit",
"approved_at": "2025-02-03T15:13:51.000000Z",
"rejected_at": null,
"event_id": 11,
"status": "approved",
"user_id": 22,
"updated_at": "2025-02-03T15:13:51.000000Z",
"created_at": "2025-02-03T15:13:51.000000Z"
},
{
"id": null,
"request_id": "iure",
"approved_at": "2025-02-03T15:13:51.000000Z",
"rejected_at": null,
"event_id": 12,
"status": "approved",
"user_id": 25,
"updated_at": "2025-02-03T15:13:51.000000Z",
"created_at": "2025-02-03T15:13:51.000000Z"
}
]
}
Submit a request to join a specific event in the system. This action will initiate the approval process for event organizers to allow or deny the request.
id of event
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/user/events/1/requests/join" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"request_id": "consequatur",
"approved_at": "2025-02-03T15:13:51.000000Z",
"rejected_at": null,
"event_id": 11,
"status": "approved",
"user_id": 24,
"updated_at": "2025-02-03T15:13:51.000000Z",
"created_at": "2025-02-03T15:13:51.000000Z"
}
}
Return list of notifications
Filtrer les notifications par statut (read, unread, all)
readunreadallcurl --request GET \
--get "https://icc.goulbam.com/api/v1/dashboard/user/notifications?filter=all" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": "1e72fa6f-8d8b-43da-b45f-df501b913a4e",
"type": "App\\Notifications\\UserNotification",
"notifiable_id": 1,
"notifiable_type": "App\\Models\\User",
"data": {
"message": "Notification de test"
},
"read_at": null,
"created_at": "2024-10-18T14:51:23.000000Z",
"updated_at": "2024-10-18T14:51:23.000000Z"
}
]
}
Mark unread notification as read
curl --request POST \
"https://icc.goulbam.com/api/v1/dashboard/user/notifications/markAsRead" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Retrieve a list of all churches.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/dashboard/sites" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"name": "Charle Roi",
"code": "charle_roi",
"address": "Belgique,",
"description": "description",
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z"
},
{
"name": "Charle Roi",
"code": "charle_roi",
"address": "Belgique,",
"description": "description",
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z"
}
]
}
Create a new user account in the system. This endpoint allows for registering a new user with their credentials and returns their account details once the registration is successful.
curl --request POST \
"https://icc.goulbam.com/api/v1/register" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=Miss Gladys Lindgren V"\
--form "phone_number=820.906.7580"\
--form "surname=Frami"\
--form "address=35887 Sincere Brooks Suite 495
West Mark, NY 95109"\
--form "email=sipes.maximo@example.org"\
--form "role_id=member"\
--form "password=password"\
--form "password_confirmation=password"\
--form "site_id=4"\
--form "image=@C:\Users\Kamix\AppData\Local\Temp\php497B.tmp" {
"token": "XHDH293939jjfjfj939339339",
"expired_at": "2024-08-23"
}
Authenticate a user by providing a login token. This token will be used to grant the user access to the system and validate their session for future requests.
curl --request POST \
"https://icc.goulbam.com/api/v1/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"lucchuala@gmail.com\",
\"password\": \"password\"
}"
{
"token": "SuIENqMMfOnuthHDPkmRC8x1uYvviAylC44WJ7DWfa7631eb",
"expired_at": "2024-04-23",
"token_name": "name",
"abilities": "*"
}
Send an email with a link and instructions for the user to reset their account password. This ensures that users can regain access to their account securely if they forget their credentials.
curl --request POST \
"https://icc.goulbam.com/api/v1/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"ischulist@example.net\"
}"
{
"status": "password sent"
}
Reset the password for a specific user. This action allows users to set a new password if they have forgotten their current one or wish to update it for security reasons.
curl --request POST \
"https://icc.goulbam.com/api/v1/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"aut\",
\"email\": \"domenick89@example.org\",
\"password\": \"quod\"
}"
{
"status": "password sent"
}
Check whether the current user has verified their email address. This endpoint is useful for ensuring that users have completed the verification process after registration.
The ID of the verify email.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/verify-email/aut/expedita" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"verified": false
}
}
Send a new verification email to the user. This allows users to receive another verification link if they did not receive or lost the initial email.
curl --request POST \
"https://icc.goulbam.com/api/v1/email/verification-notification" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"status": "verification-link-sent"
}
curl --request GET \
--get "https://icc.goulbam.com/api/v1/reset-password/placeat" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: http://localhost:3000
access-control-allow-credentials
: true
set-cookie
: XSRF-TOKEN=eyJpdiI6IjI3WEU1NUtrQ1NSS2NVM1Vqem5mQ2c9PSIsInZhbHVlIjoidCtkaXo1RURFUlJLN2djQVMvcVJnMXE2S0pOaSt5U2VHaXNKYXh2ckhBQmZ2eWVUelBSL3V4dXdOaUl1OUhkdjBoYmpuREdrYm9VNHdiRmZoNDMvYTlVRjVLRlZZUktOb3FNZkErM3VpTzUzRGw1aUFVd1BaU25LUThucElodzEiLCJtYWMiOiJjYzlmNDFlOGVhNTExZmY2ZmRiMDY1NWMyNjk1NDEyNDllNTRlMjBmZjU3ODVjYTE4NWQzNzE4MzkwNTJkZGM2IiwidGFnIjoiIn0%3D; expires=Mon, 03 Feb 2025 17:13:51 GMT; Max-Age=7200; path=/; secure; samesite=lax; church_session=eyJpdiI6InVPRFdoL0M2TmN4SVpQN1Q2Yzd1VEE9PSIsInZhbHVlIjoibVFEcWJ6RHV4Tlk3MDhuVGpoYzBqVnFveVRWdjJQL0hIWXJENm80MzFuYzRnN1g2bnFvTmFkeW5NaUYyZmpLQTZtVk9wWkdwaFdtTkNFNmxTV1lzQXdXc0dqbTlGcnhwbksrSjFVcitoWlBhbEVBa2lraVdjM01YNmZHY054cmEiLCJtYWMiOiIyYzYzMzI3YmE1ZWRlZTQ5ZmE5YWU1ZWVhMWYyOGJmMjAzNDRjMDZhZTJiMmFkMDE3YzNhNGQyNDNhMWZkMzZhIiwidGFnIjoiIn0%3D; expires=Mon, 03 Feb 2025 17:13:51 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"message": "Missing required parameter for [Route: password.store] [URI: api/v1/reset-password] [Missing parameter: { apiBaseUrl() ]. (View: C:\\laragon\\www\\church_belgique\\resources\\views\\auth\\reset-password.blade.php)",
"exception": "Illuminate\\View\\ViewException",
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Exceptions\\UrlGenerationException.php",
"line": 35,
"trace": [
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\livewire\\livewire\\src\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine.php",
"line": 58,
"function": "handleViewException",
"class": "Illuminate\\View\\Engines\\CompilerEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Engines\\PhpEngine.php",
"line": 60,
"function": "handleViewException",
"class": "Livewire\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\livewire\\livewire\\src\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine.php",
"line": 22,
"function": "evaluatePath",
"class": "Illuminate\\View\\Engines\\PhpEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Engines\\CompilerEngine.php",
"line": 74,
"function": "evaluatePath",
"class": "Livewire\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\livewire\\livewire\\src\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine.php",
"line": 10,
"function": "get",
"class": "Illuminate\\View\\Engines\\CompilerEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\View.php",
"line": 208,
"function": "get",
"class": "Livewire\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\View.php",
"line": 191,
"function": "getContents",
"class": "Illuminate\\View\\View",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\View.php",
"line": 160,
"function": "renderContents",
"class": "Illuminate\\View\\View",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Response.php",
"line": 70,
"function": "render",
"class": "Illuminate\\View\\View",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Response.php",
"line": 35,
"function": "setContent",
"class": "Illuminate\\Http\\Response",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 920,
"function": "__construct",
"class": "Illuminate\\Http\\Response",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 887,
"function": "toResponse",
"class": "Illuminate\\Routing\\Router",
"type": "::"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 807,
"function": "prepareResponse",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 144,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php",
"line": 88,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
"line": 51,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php",
"line": 121,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php",
"line": 64,
"function": "handleStatefulRequest",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php",
"line": 75,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\EncryptCookies",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\sanctum\\src\\Http\\Middleware\\EnsureFrontendRequestsAreStateful.php",
"line": 25,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 144,
"function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\sanctum\\src\\Http\\Middleware\\EnsureFrontendRequestsAreStateful.php",
"line": 24,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 807,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 786,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 750,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 739,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 201,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 144,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\livewire\\livewire\\src\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware.php",
"line": 19,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 110,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\HandleCors.php",
"line": 62,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php",
"line": 58,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks.php",
"line": 22,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 176,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 145,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 310,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 298,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 91,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 44,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 237,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 163,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 95,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 53,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 43,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 95,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 690,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 213,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\symfony\\console\\Command\\Command.php",
"line": 279,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 182,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\symfony\\console\\Application.php",
"line": 1047,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\symfony\\console\\Application.php",
"line": 316,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\symfony\\console\\Application.php",
"line": 167,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 197,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 1203,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "C:\\laragon\\www\\church_belgique\\artisan",
"line": 13,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
curl --request POST \
"https://icc.goulbam.com/api/v1/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get the list of all departments in the system. This endpoint provides a full overview of all departments, including relevant details like department names, their associated roles, and any other useful metadata.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/departments" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
{
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
]
}
Create a new department and store it in the system. The newly created department will include the department name, description, and any associated data. This endpoint ensures that departments are added accurately to the system.
curl --request POST \
"https://icc.goulbam.com/api/v1/departments" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Yost-Mante\",
\"description\": \"Sed sint dignissimos nisi aut. Sit accusantium minima quo consequuntur illo. Provident consequatur qui ad illum. Molestiae vero repudiandae et veritatis. Iure et rerum architecto quos.\",
\"user_id\": 1,
\"matricule\": \"644d2c5c-6685-3c2b-9ab6-e5e87b48ed5a\"
}"
{
"data": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
Retrieve detailed information about a specific department. This includes its name, description, associated members, and any events it is responsible for. Use this to get insights on departmental structure.
id of department
curl --request GET \
--get "https://icc.goulbam.com/api/v1/departments/8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"members": [],
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
Update the details of a specific department and return the updated department data. This is essential when changes to department names, descriptions, or managers are required. The system will ensure the changes are reflected correctly.
id of department
curl --request PUT \
"https://icc.goulbam.com/api/v1/departments/18" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Medhurst-Pollich\",
\"description\": \"Ut facilis delectus voluptas et optio et voluptatem. Impedit quia neque sit. Nostrum ipsum tempore sit omnis enim. Ab neque eum voluptatem.\",
\"user_id\": 1
}"
{
"data": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"manager": {
"id": 13,
"name": "name test 12",
"email": "email012@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "653 Ullrich Village Suite 297\nFletaville, VT 65875",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:39.000000Z",
"updated_at": "2025-02-03T15:13:39.000000Z",
"surname": "surname test 12",
"phone_number": null,
"role_id": 4,
"role": {
"id": 4,
"name": "member"
}
},
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
Remove a specific department from the system. Once deleted, this action cannot be undone, and all department-related data will be permanently removed. Use this endpoint with caution.
id of department
curl --request DELETE \
"https://icc.goulbam.com/api/v1/departments/6" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "deleted"
}
Retrieve a list of all members associated with a specific department. This includes the member details such as their roles within the department, their joining date, and their current status.
id of department
curl --request GET \
--get "https://icc.goulbam.com/api/v1/departments/1/users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
},
{
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
]
}
Assign a new manager or update the current manager for a specific department. This ensures that the leadership structure is accurately maintained and reflects any recent changes in departmental management.
id of department
curl --request POST \
"https://icc.goulbam.com/api/v1/departments/1/chief/append" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 3
}"
{
"message": "success"
}
Approve a join request submitted by a member wanting to join the department. Once approved, the member will be added to the department and can participate in its activities.
the request id
curl --request POST \
"https://icc.goulbam.com/api/v1/departments/requests/xxxx-xxxx-xxxx/approve" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "approved",
"status": 200
}
Reject a join request from a member who wants to be part of the department. This ensures that only qualified or necessary members are allowed to join the department.
id of request
curl --request POST \
"https://icc.goulbam.com/api/v1/departments/requests/xxx-xxx-xxx/reject" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "rejected",
"status": 200
}
List all join requests for a department, including those that are pending, approved, or rejected. This gives administrators full visibility of all membership requests.
id of department
the type of status returned
allpendingapprovedrejectedcurl --request GET \
--get "https://icc.goulbam.com/api/v1/departments/1/requests/list?status=all" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"request_id": "4d038f60-5b9d-38bc-a177-05f382660976",
"approved_at": null,
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z",
"user_id": 11,
"status": "pending",
"department_id": 1,
"department": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user": {
"id": 11,
"name": "name test 10",
"email": "email010@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "146 West Island Suite 809\nPort Josianne, TN 73616",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:38.000000Z",
"updated_at": "2025-02-03T15:13:38.000000Z",
"surname": "surname test 10",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
},
{
"id": 1,
"request_id": "4d038f60-5b9d-38bc-a177-05f382660976",
"approved_at": null,
"created_at": "2025-02-03T15:13:41.000000Z",
"updated_at": "2025-02-03T15:13:41.000000Z",
"user_id": 11,
"status": "pending",
"department_id": 1,
"department": {
"id": 1,
"name": "department number 1",
"matricule": "ICG-dd7184a9-60e1-318d-a392-7629a7ac9e4d",
"description": "description for department number 1",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user": {
"id": 11,
"name": "name test 10",
"email": "email010@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": "146 West Island Suite 809\nPort Josianne, TN 73616",
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:38.000000Z",
"updated_at": "2025-02-03T15:13:38.000000Z",
"surname": "surname test 10",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
}
]
}
This endpoint allows you to retrieve a list of all the events available in the system. It provides a comprehensive overview of each event, including essential details such as the event name, date, and status. This is useful for administrators or users looking to manage or join events.
Return all department belong to departmentId
Type d'événements à lister. Peut être all, my ou others. Par défaut all.
allmyothersState de l'événement : past, current, upcoming.
pastcurrentupcomingStatut de l'événement : past, current, upcoming.
pendingclosedcurl --request GET \
--get "https://icc.goulbam.com/api/v1/events?departmentId=1&type=my&state=upcoming&status=closed" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"manager": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1
},
"department": {
"id": 8,
"name": "department number 8",
"matricule": "ICG-a632dc8c-5731-3289-9b08-ccec466e4c43",
"description": "description for department number 8",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user_id": 1,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
{
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"manager": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1
},
"department": {
"id": 8,
"name": "department number 8",
"matricule": "ICG-a632dc8c-5731-3289-9b08-ccec466e4c43",
"description": "description for department number 8",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user_id": 1,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
]
}
Use this endpoint to create a new event and save it in the system. You will need to provide relevant details like the event name, start date, end date, and other necessary information. Once the event is successfully created, the system will return the newly created event with its unique identifier and all associated data.
curl --request POST \
"https://icc.goulbam.com/api/v1/events" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=prayer walk with 300 members in capte town"\
--form "purpose=I must, I must,' the King added in a great."\
--form "description=I'm sure I can't tell you how the Dodo managed it.) First it marked out a box of comfits, (luckily."\
--form "location=353 Nels Station Suite 904"\
--form "phone_number=+12144342987"\
--form "start_date=2025-02-03 15:13:50"\
--form "end_date=2025-02-04 01:13:50"\
--form "department_id=1"\
--form "user_id=1"\
--form "poster=@C:\Users\Kamix\AppData\Local\Temp\php4794.tmp" {
"data": {
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"user_id": 1,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
This endpoint allows you to retrieve detailed information about a specific event. You need to provide the event's unique identifier (ID) to get its full details, including its participants, status, and timeline. This is ideal for users or organizers who want to view or monitor the specifics of an event.
id of event
curl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"manager": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
},
"department": {
"id": 8,
"name": "department number 8",
"matricule": "ICG-a632dc8c-5731-3289-9b08-ccec466e4c43",
"description": "description for department number 8",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user_id": 1,
"members": [],
"event_detail": {
"id": null,
"evangelised_number": 0,
"converted_number": 0,
"comment": "",
"other_number": 0,
"prayer_healing_number": 0,
"created_at": null,
"updated_at": null,
"event_id": null
},
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
This endpoint enables the update of an existing event in the system. By passing the event's ID and the updated details (such as changes in the event name, date, or participants), the system will modify the event accordingly and return the updated version. It ensures that events remain up-to-date and accurate.
id of event
curl --request PUT \
"https://icc.goulbam.com/api/v1/events/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=prayer walk with 300 members in capte town"\
--form "purpose=Pray how did you begin?' The Hatter shook his."\
--form "description=Why, there's hardly room to grow to my right size: the next thing is, to get out again. That's."\
--form "location=422 Lambert Bridge"\
--form "phone_number=+15043731833"\
--form "start_date=2025-02-03 15:13:50"\
--form "end_date=2025-02-04 01:13:50"\
--form "department_id=18"\
--form "user_id=1"\
--form "poster=@C:\Users\Kamix\AppData\Local\Temp\php47A5.tmp" {
"data": {
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"user_id": 1,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
This endpoint is used to permanently delete a specific event from the database. Once removed, the event cannot be recovered. You must provide the event's ID to ensure that the correct event is deleted. Use this with caution, particularly for events with many participants or significant importance.
id of event
curl --request DELETE \
"https://icc.goulbam.com/api/v1/events/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "deleted",
"status": 200
}
This endpoint enables the updating of detailed information for a specific event. By modifying aspects like event schedule or objectives, organizers can ensure that the event remains aligned with its intended goals.
curl --request POST \
"https://icc.goulbam.com/api/v1/events/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"evangelised_number\": 3,
\"converted_number\": 14,
\"comment\": \"ipsam\",
\"prayer_healing_number\": 20,
\"other_number\": 5,
\"contacts\": [
{
\"contact_name\": \"occaecati\",
\"phone_number\": \"dolore\"
}
],
\"participants\": [
{
\"user_id\": 3,
\"participated\": false
}
]
}"
{
"message": "success",
"status": 200
}
Use this endpoint to retrieve a detailed breakdown of an event, including its timeline, participants, and key milestones. This provides a comprehensive view for organizers and participants alike to understand the event's structure.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1/details" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": null,
"evangelised_number": null,
"converted_number": null,
"comment": null,
"other_number": null,
"prayer_healing_number": null,
"created_at": null,
"updated_at": null,
"event_id": null
}
}
Use this endpoint to list all the important contacts associated with an event, such as event coordinators, speakers, or sponsors. This is especially useful for large events where many stakeholders are involved.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1/contacts" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"name": "Dr. Adelia Koepp V",
"phone_number": "256.630.5093",
"created_at": "2025-02-03T15:13:50.000000Z",
"updated_at": "2025-02-03T15:13:50.000000Z",
"event_detail_id": 1
},
{
"id": null,
"name": "Beulah Hand",
"phone_number": "423-674-6885",
"created_at": "2025-02-03T15:13:51.000000Z",
"updated_at": "2025-02-03T15:13:51.000000Z",
"event_detail_id": 2
}
]
}
This endpoint marks an event as finished. Once marked, the event will be considered closed and no further changes or participation will be allowed. It's typically used by event managers when an event concludes successfully.
curl --request POST \
"https://icc.goulbam.com/api/v1/events/1/finish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
With this endpoint, you can list all the members currently registered as participants in a specific event. This is useful for event organizers or department heads who want to monitor attendance and ensure that all participants are accounted for.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1/users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"name": null,
"email": null,
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": null,
"updated_at": null,
"surname": null,
"phone_number": null,
"role_id": null
},
{
"id": null,
"name": null,
"email": null,
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": null,
"updated_at": null,
"surname": null,
"phone_number": null,
"role_id": null
}
]
}
This endpoint allows you to add a new participant to an event. By providing the user details and the event ID, the new member will be officially added to the list of event participants, ensuring they are part of all event activities.
curl --request POST \
"https://icc.goulbam.com/api/v1/events/1/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "added"
}
This endpoint allows users to download a PDF version of the event details. The PDF includes all the important information such as participants, schedule, and summary, which can be shared or archived for future reference.
id of event
curl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1/download" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -
This endpoint is designed for approving a join request made by a user within a department. By approving this request, the user will officially become a participant of the event. This functionality is useful for event administrators managing participation in large-scale events.
the request id
curl --request POST \
"https://icc.goulbam.com/api/v1/events/requests/xxxx-xxxx-xxxx/approve" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "approved",
"status": 200
}
With this endpoint, you can reject a join request submitted by a user. Rejection of the request means that the user will not be allowed to participate in the event. It is typically used by event managers or department heads when they need to manage attendance strictly.
the request id
curl --request POST \
"https://icc.goulbam.com/api/v1/events/requests/xxxx-xxxx-xxxx/reject" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "rejected",
"status": 200
}
This endpoint allows you to retrieve a complete list of all join requests related to an event, whether they are pending, approved, or rejected. This helps event organizers track participation requests and manage the approval workflow efficiently.
id of event
the type of status returned
allpendingapprovedrejectedcurl --request GET \
--get "https://icc.goulbam.com/api/v1/events/1/requests?status=all" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": null,
"request_id": "perferendis",
"approved_at": "2025-02-03T15:13:51.000000Z",
"rejected_at": null,
"event_id": 11,
"status": "approved",
"user_id": 24,
"updated_at": "2025-02-03T15:13:51.000000Z",
"created_at": "2025-02-03T15:13:51.000000Z"
},
{
"id": null,
"request_id": "repellat",
"approved_at": "2025-02-03T15:13:51.000000Z",
"rejected_at": null,
"event_id": 12,
"status": "approved",
"user_id": 27,
"updated_at": "2025-02-03T15:13:51.000000Z",
"created_at": "2025-02-03T15:13:51.000000Z"
}
]
}
Retrieve all events that are organized or belong to a specific department. This helps in tracking the department's activities and ensuring all planned events are visible to department heads and members.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/departments/1/events" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "event test 1",
"status": "NOT_CLOSED",
"status_label": "NOT_CLOSED",
"purpose": "Dr.",
"description": "In sit iste corporis odit. Suscipit reprehenderit vel quibusdam ipsa.",
"start_date": "2009-07-23T11:55:24.000000Z",
"end_date": "2022-10-25T07:42:42.000000Z",
"location": "43608 Milan Mill Suite 363\nPort Maymie, MS 18319-4933",
"poster": "https://icc.goulbam.com/storage",
"poster_url": "https://icc.goulbam.com/storage",
"phone_number": null,
"manager": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1
},
"department": {
"id": 8,
"name": "department number 8",
"matricule": "ICG-a632dc8c-5731-3289-9b08-ccec466e4c43",
"description": "description for department number 8",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
},
"user_id": 1,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
}
Retrieve a complete list of all users in the system. This provides a detailed overview of every user registered, including their associated roles, statuses, and metadata.
filter by banned users if provided and retrieve by their boolean value.
Retrieve all users if it is star. if star is provided it will return all users with boolean value of star given
curl --request GET \
--get "https://icc.goulbam.com/api/v1/users?banned=1&star=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
},
{
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
]
}
Create a new user and store the user's information in the system. This endpoint allows you to define the user's details, including their role and profile information, and returns the newly created user data.
curl --request POST \
"https://icc.goulbam.com/api/v1/users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=Vincent Moore"\
--form "phone_number=1-513-710-4560"\
--form "surname=Konopelski"\
--form "address=64357 Lilly Via
Hamillshire, OH 96610"\
--form "email=rkreiger@example.org"\
--form "role_id=pastor"\
--form "password=password"\
--form "password_confirmation=password"\
--form "site_id=3"\
--form "image=@C:\Users\Kamix\AppData\Local\Temp\php4734.tmp" {
"token": "XHDH293939jjfjfj939339339",
"expired_at": "2024-08-23"
}
Retrieve detailed information about a specific user. This includes the user's personal details, roles, associated departments, and any activity history within the system.
curl --request GET \
--get "https://icc.goulbam.com/api/v1/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
}
}
}
Update the details of a specific user and return the updated user data. Use this endpoint to modify the user's profile, role, or department membership.
curl --request PUT \
"https://icc.goulbam.com/api/v1/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=Ms. Annette Marks"\
--form "phone_number=+1-731-361-9415"\
--form "surname=Herman"\
--form "address=47604 Mireille Junction Apt. 756
Ritchieville, VT 81847"\
--form "email=estroman@example.org"\
--form "role_id=re"\
--form "password=password"\
--form "password_confirmation=password"\
--form "image=@C:\Users\Kamix\AppData\Local\Temp\php4735.tmp" {
"message": "updated"
}
Remove a specific user from the system. Once deleted, all associated data and records tied to the user will be permanently removed from the database. Use this action carefully.
id of the user
curl --request DELETE \
"https://icc.goulbam.com/api/v1/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "deleted"
}
Suspend the account of a specific user. This will disable their access to the system and prevent them from participating in any events or activities until the suspension is lifted.
id of user
curl --request POST \
"https://icc.goulbam.com/api/v1/user/1/suspend" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "leaved"
}
Assign a specific role to a user. This endpoint allows you to update the user's permissions and responsibilities by changing or adding a new role.
id of user
curl --request POST \
"https://icc.goulbam.com/api/v1/user/1/assignRole" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role\": \"global_admin\"
}"
{
"message": "success"
}
Revoke a role to member
id of user
curl --request POST \
"https://icc.goulbam.com/api/v1/user/1/revoke" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"message": "success",
"status": 200
}
Allow a user to leave a specific department. This action removes the user's association with the department and any responsibilities tied to it.
id of user
id of department
curl --request POST \
"https://icc.goulbam.com/api/v1/user/1/department/1/leave" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"user": [],
"department": []
}
statistic user
id of user
curl --request POST \
"https://icc.goulbam.com/api/v1/users/1/statistic" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "admin",
"email": "admin@gmail.com",
"image": "https://icc.goulbam.com/storage",
"address": null,
"email_verified_at": null,
"remember_token": null,
"created_at": "2025-02-03T15:13:36.000000Z",
"updated_at": "2025-02-03T15:13:36.000000Z",
"surname": "admin",
"phone_number": null,
"role_id": 1,
"role": {
"id": 1,
"name": "global_admin"
},
"missed_events": [],
"participated_events": [],
"managed_departments": [
{
"id": 3,
"name": "department number 3",
"matricule": "ICG-d6427d06-59de-3731-a08c-60ce65feb9ba",
"description": "description for department number 3",
"members_count": null,
"updated_at": "2025-02-03T15:13:41.000000Z",
"created_at": "2025-02-03T15:13:41.000000Z"
}
],
"attached_departments": []
}
}
download pdf
id of user
curl --request GET \
--get "https://icc.goulbam.com/api/v1/users/1/statistic/download/pdf" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Binary data] -