Skip to content

Poolia API

Version: 0.1.0

Endpoints

POST /auth/login

Summary: Login

Tags: auth

Operation ID: login_auth_login_post

Request Body

  • Required: Yes
Content-Type Schema
application/json LoginRequest

Responses

Status Content-Type Schema Description
200 application/json TokenResponse Successful Response
422 application/json HTTPValidationError Validation Error

POST /auth/logout

Summary: Logout

Tags: auth

Operation ID: logout_auth_logout_post

Responses

Status Content-Type Schema Description
200 application/json object Successful Response

POST /auth/register

Summary: Register

Tags: auth

Operation ID: register_auth_register_post

Request Body

  • Required: Yes
Content-Type Schema
application/json RegisterRequest

Responses

Status Content-Type Schema Description
200 application/json TokenResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /health

Summary: Healthcheck

Operation ID: healthcheck_health_get

Responses

Status Content-Type Schema Description
200 application/json object Successful Response

GET /invites

Summary: List Invites

Tags: invites

Operation ID: list_invites_invites_get

Responses

Status Content-Type Schema Description
200 application/json array[Invite] Successful Response

POST /invites

Summary: Create Invite

Tags: invites

Operation ID: create_invite_invites_post

Request Body

  • Required: Yes
Content-Type Schema
application/json InviteCreate

Responses

Status Content-Type Schema Description
201 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

GET /invites/technicians/{technician_id}

Summary: List Invites By Technician

Tags: invites

Operation ID: list_invites_by_technician_invites_technicians__technician_id__get

Parameters

Name In Type Required Description
technician_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[Invite] Successful Response
422 application/json HTTPValidationError Validation Error

GET /invites/technicians/{technician_id}/pending

Summary: List Pending Invites By Technician

Tags: invites

Operation ID: list_pending_invites_by_technician_invites_technicians__technician_id__pending_get

Parameters

Name In Type Required Description
technician_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[Invite] Successful Response
422 application/json HTTPValidationError Validation Error

POST /invites/{inviteId}/accept

Summary: Accept Invite

Tags: invites

Operation ID: accept_invite_invites__inviteId__accept_post

Parameters

Name In Type Required Description
inviteId path string Yes

Responses

Status Content-Type Schema Description
200 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

POST /invites/{inviteId}/decline

Summary: Decline Invite

Tags: invites

Operation ID: decline_invite_invites__inviteId__decline_post

Parameters

Name In Type Required Description
inviteId path string Yes

Responses

Status Content-Type Schema Description
200 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

GET /invites/{invite_id}

Summary: Get Invite

Tags: invites

Operation ID: get_invite_invites__invite_id__get

Parameters

Name In Type Required Description
invite_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /invites/{invite_id}

Summary: Update Invite

Tags: invites

Operation ID: update_invite_invites__invite_id__patch

Parameters

Name In Type Required Description
invite_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json InviteUpdate

Responses

Status Content-Type Schema Description
200 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /invites/{invite_id}

Summary: Delete Invite

Tags: invites

Operation ID: delete_invite_invites__invite_id__delete

Parameters

Name In Type Required Description
invite_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

GET /messages/{message_id}

Summary: Get Message

Tags: messages

Operation ID: get_message_messages__message_id__get

Parameters

Name In Type Required Description
message_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json MessageResponse Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /messages/{message_id}

Summary: Update Message

Tags: messages

Operation ID: update_message_messages__message_id__patch

Parameters

Name In Type Required Description
message_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json MessageUpdate

Responses

Status Content-Type Schema Description
200 application/json MessageResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /photos/pools/{pool_id}

Summary: Get Pool Photo

Tags: photos

Operation ID: get_pool_photo_photos_pools__pool_id__get

Parameters

Name In Type Required Description
pool_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json PhotoResponse Successful Response
422 application/json HTTPValidationError Validation Error

POST /photos/pools/{pool_id}

Summary: Upload Pool Photo

Tags: photos

Operation ID: upload_pool_photo_photos_pools__pool_id__post

Parameters

Name In Type Required Description
pool_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
multipart/form-data Body_upload_pool_photo_photos_pools__pool_id__post

Responses

Status Content-Type Schema Description
200 application/json PhotoResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /photos/users/{user_id}/profile

Summary: Get User Profile Photo

Tags: photos

Operation ID: get_user_profile_photo_photos_users__user_id__profile_get

Parameters

Name In Type Required Description
user_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json PhotoResponse Successful Response
422 application/json HTTPValidationError Validation Error

POST /photos/users/{user_id}/profile

Summary: Upload User Profile Photo

Tags: photos

Operation ID: upload_user_profile_photo_photos_users__user_id__profile_post

Parameters

Name In Type Required Description
user_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
multipart/form-data Body_upload_user_profile_photo_photos_users__user_id__profile_post

Responses

Status Content-Type Schema Description
201 application/json PhotoResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /photos/visits/{visit_id}

Summary: List Visit Photos

Tags: photos

Operation ID: list_visit_photos_photos_visits__visit_id__get

Parameters

Name In Type Required Description
visit_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[PhotoResponse] Successful Response
422 application/json HTTPValidationError Validation Error

POST /photos/visits/{visit_id}

Summary: Upload Visit Photo

Tags: photos

Operation ID: upload_visit_photo_photos_visits__visit_id__post

Parameters

Name In Type Required Description
visit_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
multipart/form-data Body_upload_visit_photo_photos_visits__visit_id__post

Responses

Status Content-Type Schema Description
201 application/json PhotoResponse Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /photos/{photo_id}

Summary: Delete Photo

Tags: photos

Operation ID: delete_photo_photos__photo_id__delete

Parameters

Name In Type Required Description
photo_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

GET /pool-values

Summary: List Pool Values

Tags: pool-values

Operation ID: list_pool_values_pool_values_get

Responses

Status Content-Type Schema Description
200 application/json array[PoolValues] Successful Response

POST /pool-values

Summary: Create Pool Values

Tags: pool-values

Operation ID: create_pool_values_pool_values_post

Request Body

  • Required: Yes
Content-Type Schema
application/json PoolValuesCreate

Responses

Status Content-Type Schema Description
201 application/json PoolValues Successful Response
422 application/json HTTPValidationError Validation Error

GET /pool-values/{pool_values_id}

Summary: Get Pool Values

Tags: pool-values

Operation ID: get_pool_values_pool_values__pool_values_id__get

Parameters

Name In Type Required Description
pool_values_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json PoolValues Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /pool-values/{pool_values_id}

Summary: Update Pool Values

Tags: pool-values

Operation ID: update_pool_values_pool_values__pool_values_id__patch

Parameters

Name In Type Required Description
pool_values_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json PoolValuesUpdate

Responses

Status Content-Type Schema Description
200 application/json PoolValues Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /pool-values/{pool_values_id}

Summary: Delete Pool Values

Tags: pool-values

Operation ID: delete_pool_values_pool_values__pool_values_id__delete

Parameters

Name In Type Required Description
pool_values_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools

Summary: List Pools

Tags: pools

Operation ID: list_pools_pools_get

Parameters

Name In Type Required Description
ownerId query string | null No

Responses

Status Content-Type Schema Description
200 application/json array[Pool] Successful Response
422 application/json HTTPValidationError Validation Error

POST /pools

Summary: Create Pool

Tags: pools

Operation ID: create_pool_pools_post

Request Body

  • Required: Yes
Content-Type Schema
application/json PoolCreate

Responses

Status Content-Type Schema Description
201 application/json Pool Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/technician/{tech_id}

Summary: List Pools By Technician

Tags: pools

Operation ID: list_pools_by_technician_pools_technician__tech_id__get

Parameters

Name In Type Required Description
tech_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[Pool] Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/user/{user_id}

Summary: List Pools By Owner

Tags: pools

Operation ID: list_pools_by_owner_pools_user__user_id__get

Parameters

Name In Type Required Description
user_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[Pool] Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/{poolId}/dashboard

Summary: Get Pool Dashboard

Tags: pools

Operation ID: get_pool_dashboard_pools__poolId__dashboard_get

Parameters

Name In Type Required Description
poolId path string Yes

Responses

Status Content-Type Schema Description
200 application/json PoolDashboardResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/{poolId}/visits

Summary: List Pool Visits

Tags: pools

Operation ID: list_pool_visits_pools__poolId__visits_get

Parameters

Name In Type Required Description
poolId path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[Visit] Successful Response
422 application/json HTTPValidationError Validation Error

POST /pools/{poolId}/visits

Summary: Create Pool Visit

Tags: pools

Operation ID: create_pool_visit_pools__poolId__visits_post

Parameters

Name In Type Required Description
poolId path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json CreatePoolVisitRequest

Responses

Status Content-Type Schema Description
201 application/json object Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/{pool_id}

Summary: Get Pool

Tags: pools

Operation ID: get_pool_pools__pool_id__get

Parameters

Name In Type Required Description
pool_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json Pool Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /pools/{pool_id}

Summary: Update Pool

Tags: pools

Operation ID: update_pool_pools__pool_id__patch

Parameters

Name In Type Required Description
pool_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json PoolUpdate

Responses

Status Content-Type Schema Description
200 application/json Pool Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /pools/{pool_id}

Summary: Delete Pool

Tags: pools

Operation ID: delete_pool_pools__pool_id__delete

Parameters

Name In Type Required Description
pool_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/{pool_id}/alert-config

Summary: Get Alert Config

Tags: pools

Operation ID: get_alert_config_pools__pool_id__alert_config_get

Parameters

Name In Type Required Description
pool_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json AlertConfig Successful Response
422 application/json HTTPValidationError Validation Error

PUT /pools/{pool_id}/alert-config

Summary: Upsert Alert Config

Tags: pools

Operation ID: upsert_alert_config_pools__pool_id__alert_config_put

Parameters

Name In Type Required Description
pool_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json AlertConfigUpsert

Responses

Status Content-Type Schema Description
200 application/json AlertConfig Successful Response
422 application/json HTTPValidationError Validation Error

POST /pools/{pool_id}/invites

Summary: Invite Technician By Email

Tags: pools

Operation ID: invite_technician_by_email_pools__pool_id__invites_post

Parameters

Name In Type Required Description
pool_id path string Yes
ownerId query string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json InviteByEmailRequest

Responses

Status Content-Type Schema Description
201 application/json Invite Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /pools/{pool_id}/technicians/{technician_id}

Summary: Remove Pool Technician

Tags: pools

Operation ID: remove_pool_technician_pools__pool_id__technicians__technician_id__delete

Parameters

Name In Type Required Description
pool_id path string Yes
technician_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

GET /pools/{pool_id}/threads

Summary: List Threads

Tags: messages

Operation ID: list_threads_pools__pool_id__threads_get

Parameters

Name In Type Required Description
pool_id path string Yes
status query string | null No

Responses

Status Content-Type Schema Description
200 application/json array[MessageThreadListItem] Successful Response
422 application/json HTTPValidationError Validation Error

POST /pools/{pool_id}/threads

Summary: Create Thread

Tags: messages

Operation ID: create_thread_pools__pool_id__threads_post

Parameters

Name In Type Required Description
pool_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json MessageThreadCreate

Responses

Status Content-Type Schema Description
201 application/json MessageThread Successful Response
422 application/json HTTPValidationError Validation Error

GET /threads/{thread_id}

Summary: Get Thread

Tags: messages

Operation ID: get_thread_threads__thread_id__get

Parameters

Name In Type Required Description
thread_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json MessageThread Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /threads/{thread_id}

Summary: Update Thread

Tags: messages

Operation ID: update_thread_threads__thread_id__patch

Parameters

Name In Type Required Description
thread_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json MessageThreadUpdate

Responses

Status Content-Type Schema Description
200 application/json MessageThread Successful Response
422 application/json HTTPValidationError Validation Error

GET /threads/{thread_id}/messages

Summary: List Messages

Tags: messages

Operation ID: list_messages_threads__thread_id__messages_get

Parameters

Name In Type Required Description
thread_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json array[MessageResponse] Successful Response
422 application/json HTTPValidationError Validation Error

POST /threads/{thread_id}/messages

Summary: Create Message

Tags: messages

Operation ID: create_message_threads__thread_id__messages_post

Parameters

Name In Type Required Description
thread_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json MessageCreate

Responses

Status Content-Type Schema Description
201 application/json MessageResponse Successful Response
422 application/json HTTPValidationError Validation Error

POST /threads/{thread_id}/messages/{message_id}/photos

Summary: Upload Message Photo

Tags: messages

Operation ID: upload_message_photo_threads__thread_id__messages__message_id__photos_post

Parameters

Name In Type Required Description
thread_id path string Yes
message_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
multipart/form-data Body_upload_message_photo_threads__thread_id__messages__message_id__photos_post

Responses

Status Content-Type Schema Description
201 application/json MessageResponse Successful Response
422 application/json HTTPValidationError Validation Error

GET /users

Summary: List Users

Tags: users

Operation ID: list_users_users_get

Responses

Status Content-Type Schema Description
200 application/json array[User] Successful Response

POST /users

Summary: Create User

Tags: users

Operation ID: create_user_users_post

Request Body

  • Required: Yes
Content-Type Schema
application/json UserCreate

Responses

Status Content-Type Schema Description
201 application/json User Successful Response
422 application/json HTTPValidationError Validation Error

GET /users/me

Summary: Get Me

Tags: users

Operation ID: get_me_users_me_get

Responses

Status Content-Type Schema Description
200 application/json User Successful Response

POST /users/me/change-password

Summary: Change My Password

Tags: users

Operation ID: change_my_password_users_me_change_password_post

Request Body

  • Required: Yes
Content-Type Schema
application/json ChangePasswordRequest

Responses

Status Content-Type Schema Description
200 application/json object Successful Response
422 application/json HTTPValidationError Validation Error

GET /users/{user_id}

Summary: Get User

Tags: users

Operation ID: get_user_users__user_id__get

Parameters

Name In Type Required Description
user_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json User Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /users/{user_id}

Summary: Update User

Tags: users

Operation ID: update_user_users__user_id__patch

Parameters

Name In Type Required Description
user_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json UserUpdate

Responses

Status Content-Type Schema Description
200 application/json User Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /users/{user_id}

Summary: Soft Delete User

Tags: users

Operation ID: soft_delete_user_users__user_id__delete

Parameters

Name In Type Required Description
user_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json object Successful Response
422 application/json HTTPValidationError Validation Error

GET /visits

Summary: List Visits

Tags: visits

Operation ID: list_visits_visits_get

Responses

Status Content-Type Schema Description
200 application/json array[Visit] Successful Response

POST /visits

Summary: Create Visit

Tags: visits

Operation ID: create_visit_visits_post

Request Body

  • Required: Yes
Content-Type Schema
application/json VisitCreate

Responses

Status Content-Type Schema Description
201 application/json Visit Successful Response
422 application/json HTTPValidationError Validation Error

GET /visits/{visit_id}

Summary: Get Visit

Tags: visits

Operation ID: get_visit_visits__visit_id__get

Parameters

Name In Type Required Description
visit_id path string Yes

Responses

Status Content-Type Schema Description
200 application/json Visit Successful Response
422 application/json HTTPValidationError Validation Error

PATCH /visits/{visit_id}

Summary: Update Visit

Tags: visits

Operation ID: update_visit_visits__visit_id__patch

Parameters

Name In Type Required Description
visit_id path string Yes

Request Body

  • Required: Yes
Content-Type Schema
application/json VisitUpdate

Responses

Status Content-Type Schema Description
200 application/json Visit Successful Response
422 application/json HTTPValidationError Validation Error

DELETE /visits/{visit_id}

Summary: Delete Visit

Tags: visits

Operation ID: delete_visit_visits__visit_id__delete

Parameters

Name In Type Required Description
visit_id path string Yes

Responses

Status Content-Type Schema Description
204 - - Successful Response
422 application/json HTTPValidationError Validation Error

Schemas

AlertConfig

Field Type Required Description
_id string | null No MongoDB document ObjectID
poolId string Yes
phMin number Yes
phMax number Yes
chlorineMin number Yes
chlorineMax number Yes
temperatureMin number Yes
temperatureMax number Yes
createdAt string No
updatedAt string No

AlertConfigUpsert

Field Type Required Description
phMin number Yes
phMax number Yes
chlorineMin number Yes
chlorineMax number Yes
temperatureMin number Yes
temperatureMax number Yes

Body_upload_message_photo_threads__thread_id__messages__message_id__photos_post

Field Type Required Description
file string Yes
description string | null No

Body_upload_pool_photo_photos_pools__pool_id__post

Field Type Required Description
file string Yes
uploaded_by string | null No
description string | null No

Body_upload_user_profile_photo_photos_users__user_id__profile_post

Field Type Required Description
file string Yes
uploaded_by string | null No
description string | null No

Body_upload_visit_photo_photos_visits__visit_id__post

Field Type Required Description
file string Yes
uploaded_by string | null No
description string | null No

ChangePasswordRequest

Field Type Required Description
currentPassword string Yes
newPassword string Yes

CreatePoolVisitRequest

Field Type Required Description
technicianId string Yes
ph number Yes
chlorine number Yes
temperature number Yes
isOk boolean Yes
actions string Yes
problem string | null No
status string No
observations string | null No

HTTPValidationError

Field Type Required Description
detail array[ValidationError] No

Invite

Field Type Required Description
_id string | null No MongoDB document ObjectID
ownerId string Yes
technicianId string Yes
poolId string Yes
status string No
createdAt string No
respondedAt string | null No
expiresAt string | null No

InviteByEmailRequest

Field Type Required Description
technicianEmail string Yes

InviteCreate

Field Type Required Description
ownerId string Yes
technicianId string Yes
poolId string Yes
status string No
createdAt string | null No
respondedAt string | null No
expiresAt string | null No

InviteUpdate

Field Type Required Description
ownerId string | null No
technicianId string | null No
poolId string | null No
status string | null No
createdAt string | null No
respondedAt string | null No
expiresAt string | null No

LoginRequest

Field Type Required Description
email string Yes
password string Yes

MessageCreate

Field Type Required Description
messageType string Yes
body string Yes
replyToMessageId string | null No

MessageResponse

Field Type Required Description
id string Yes
threadId string Yes
poolId string Yes
authorId string Yes
authorRole string Yes
messageType string Yes
body string Yes
replyToMessageId string | null No
createdAt string Yes
updatedAt string | null No
photos array[PhotoResponse] No

MessageThread

Field Type Required Description
_id string | null No MongoDB document ObjectID
poolId string Yes
createdBy string Yes
createdByRole string Yes
subject string Yes
status string No
visitId string | null No
lastMessageAt string No
lastMessagePreview string | null No
lastMessageAuthorId string | null No
lastMessageAuthorRole string | null No
lastMessageType string | null No
createdAt string No
updatedAt string No

MessageThreadCreate

Field Type Required Description
subject string Yes
messageType string Yes
body string Yes
visitId string | null No

MessageThreadListItem

Field Type Required Description
id string Yes
poolId string Yes
createdBy string Yes
createdByRole string Yes
subject string Yes
status string Yes
visitId string | null No
lastMessageAt string Yes
lastMessagePreview string | null No
lastMessageAuthorId string | null No
lastMessageAuthorRole string | null No
lastMessageType string | null No
createdAt string Yes
updatedAt string Yes
messageCount integer Yes

MessageThreadUpdate

Field Type Required Description
subject string | null No
status string | null No

MessageUpdate

Field Type Required Description
body string Yes

PhotoResponse

Field Type Required Description
id string Yes
fileName string Yes
blobPath string Yes
contentType string Yes
size integer Yes
userId string | null No
visitId string | null No
poolId string | null No
threadId string | null No
messageId string | null No
uploadedBy string | null No
createdAt string Yes
description string | null No
url string Yes

Pool

Field Type Required Description
_id string | null No MongoDB document ObjectID
ownerId string Yes Ref User owner
name string Yes Nombre de la piscina
location object Yes Ubicación geográfica de la piscina
volume number | null No Volumen de la piscina
depth number | null No Profundidad de la piscina
poolType string Yes
technicianIds array[string] No
createdAt string No
updatedAt string No

PoolCreate

Field Type Required Description
ownerId string Yes
name string Yes
location PoolLocation Yes
volume number | null No
depth number | null No
poolType string Yes
technicianIds array[string] | null No
createdAt string | null No
updatedAt string | null No

PoolDashboardResponse

Field Type Required Description
ownerEmail string No
technicianEmail string | null No
poolName string No
poolLocation PoolLocation | null No
poolVolume number | null No
poolDepth number | null No
lastVisitDate string | null No
isPoolOk boolean | null No
observations string | null No
ph number | null No
chlorine number | null No
temperature number | null No

PoolLocation

Field Type Required Description
address string Yes
lat number Yes
lng number Yes

PoolUpdate

Field Type Required Description
ownerId string | null No
name string | null No
location PoolLocation | null No
volume number | null No
depth number | null No
poolType string | null No
technicianIds array[string] | null No

PoolValues

Field Type Required Description
_id string | null No MongoDB document ObjectID
poolId string Yes
ph number Yes
chlorine number Yes
temperature number Yes
isOk boolean Yes
createdAt string No

PoolValuesCreate

Field Type Required Description
poolId string Yes
ph number Yes
chlorine number Yes
temperature number Yes
isOk boolean Yes
createdAt string | null No

PoolValuesUpdate

Field Type Required Description
poolId string | null No
ph number | null No
chlorine number | null No
temperature number | null No
isOk boolean | null No
createdAt string | null No

RegisterRequest

Field Type Required Description
name string Yes
lastName string Yes
email string Yes
password string Yes
role object No

TokenResponse

Field Type Required Description
access_token string Yes
token_type string No

User

Field Type Required Description
_id string | null No MongoDB document ObjectID
name string Yes Nombre
lastName string Yes Apellido
email string Yes Correo único
passwordHash string | null No Hash de contraseña
role object No Rol del usuario
status object No Estado del usuario
createdAt string No
lastLoginAt string | null No Último login
deletedAt string | null No Fecha de borrado lógico

UserCreate

Field Type Required Description
name string Yes
lastName string Yes
email string Yes
passwordHash string Yes
role object No
status object No
lastLoginAt string | null No

UserRole

Type: string

UserStatus

Type: string

UserUpdate

Field Type Required Description
name string | null No
lastName string | null No
email string | null No
passwordHash string | null No
role UserRole | null No
status UserStatus | null No
lastLoginAt string | null No

ValidationError

Field Type Required Description
loc array[string | integer] Yes
msg string Yes
type string Yes

Visit

Field Type Required Description
_id string | null No MongoDB document ObjectID
date string Yes
technicianId string Yes
poolId string Yes
poolValueId string | null No
isPoolOk boolean | null No
isOk boolean | null No
actions string | null No
problem string | null No
status string No
observations string | null No

VisitCreate

Field Type Required Description
date string Yes
technicianId string Yes
poolId string Yes
poolValueId string Yes
isPoolOk boolean Yes
observations string | null No

VisitUpdate

Field Type Required Description
date string | null No
technicianId string | null No
poolId string | null No
poolValueId string | null No
isPoolOk boolean | null No
observations string | null No