API RIS
/authenticate.Validates the credentials and returns a Bearer JWT token required for all subsequent calls. The token must be sent in the Authorization header as: Bearer <token>.
curl -X POST https://replace.com/authenticate \ -H "Content-Type: application/json" \ -d '{ "username": "john.doe", "password": "securePassword123", "clinicIdToAccess": 42 }'
{ "token": "eyJhbGciOiJIUzI1NiIsInR5..."
}
{ "token": "eyJhbGciOiJIUzI1NiIsInR5..."
}
Path ParametersRegisters a new patient at the clinic. personalIdentification and email must be unique — duplicates return an error. Note: If a patient already exists with the same personalIdentification or email, the API returns DUPLICATED_PATIENT.
{ "patient": { "name": "Michael Robert", "personalIdentification": "132333957839", "email": "nomail@gmail.com", "birthDate": "1990-05-15", "gender": "MALE", "cellPhone": "111 9844422" }
}
Returns a patient's complete data based on their unique identifier.
curl https://replace.com/patient/101 \ -H "Authorization: Bearer "
curl https://replace.com/patient/101 \ -H "Authorization: Bearer "
Updates a patient's data. All fields are optional, but at least one must be submitted. Same uniqueness rules as for the POST request.
{ "patient": { "cellPhone": "111 99999999", "socialName": "Michael" }
}
// 204 No Content — sem corpo
Registers a procedure room. The operating period must include full slots of the specified duration. If startTime does not fit within the slot, it returns ROOM_START_TIME_DOES_NOT_FIT_INTO_PROCEDURE_DURATION_SPOT.
{ "room": { "name": "Room 1", "number": 15, "startTime": "08:00", "endTime": "18:00", "procedureDuration": 30, "modality": "CT", "status": "AVAILABLE" }
}
{ "roomId": 7 }
{ "errorMessage": "VALIDATION_ERROR", "errorType": "VALIDATION_ERROR", "validationsErrors": [{ "message": "startTime does not fit slot", "path": "room.startTime" }]
}
Returns the data for a room by its ID.
curl https://replace.com/room/7 \ -H "Authorization: Bearer "
{ "sala": { "nombre": "Sala 1", "número": 15, "horaInicio": "08:00", "horaFin": "18:00", "duraciónDelProcedimiento": 30, "estado": "DISPONIBLE" }
}
{ "room": { "status": "MAINTENANCE" }
}
// 204 No Content
Register a partner (insurance, insurance or partner clinic) with their payment rules.
201: Partner created. Returns { partnerId }. 400 (VALIDATION_ERROR): Invalid schema. 401 (UNAUTHORIZED): Invalid token. 500 (INTERNAL_SERVER_ERROR): Internal error.
// 204 No Content
Returns data from a partner by ID.
curl https://replace.com/partner/12 \ -H "Authorization: Bearer "
{ "partner": { "name": "Robert Clinic", "paymentType": "COPARTICIPATION", "status": "AVAILABLE" }
}
{ "partner": { "status": "UNAVAILABLE" }
}
// 204 No Content
Register a clinical unit with its identification and address data.
{ "unit": { "name": "Downtown Unit", "identificationDocument": "103958503", "corporateName": "Downtown Unit LTDA", "address": { "zipCode": "97297", "street": "Main Street", "number": "201", "city": "Los Angeles", "state": "California", "country": "Brazil", "district": "Hollywood" } }
}
{ "unitId": 3 }
curl https://replace.com/unit/3 \ -H "Authorization: Bearer "
Updates data from one unit. All fields are optional.
{ "unit": { "cnes": "1234567890" }
}
// 204 No Content
201: Médico criado. Retorna { doctorId }. 400 (VALIDATION_ERROR): Schema inválido. 401 (UNAUTHORIZED): Token inválido. 500 (INTERNAL_SERVER_ERROR): CRM ou e-mail duplicado.
{ "doctorId": 55 }
{ "doctor": { "status": "UNAVAILABLE" }
}
// 204 No Content
{ "medicalProcedure": { "price": 255.55, "name": "Lasik Surgery", "modality": "CT", "instructions": "Evitar lentes de contato 5 dias antes" }, "linkedPartnerIds": [12, 15]
}
{ "medicalProcedureId": 3 }
{ "medicalProcedure": { "price": 255.55, "name": "Lasik Surgery", "modality": "CT" }, "linkedPartnerIds": [12, 15]
}
Updates data from a procedure and/or its linked partners.
Novo Site @ Medcloud Share
Atualizar Procedimento Médico
atualizar-procedimento-medico
www.medcloud.link/endpoints/
atualizar-procedimento-medico
/medical-procedure/{id}
Atualiza dados de um procedimento e/ou seus parceiros vinculados.
id (integer, path, required): ID do procedimento.
204: Procedimento atualizado.
401 (UNAUTHORIZED): Token inválido.
404 (NOT_FOUND): Procedimento não encontrado.
{ "medicalProcedure": { "price": 299.90 }, "linkedPartnerIds": [12]
}
// 204 No Content
| Parâmetro de Header | Tipo | Descrição |
| :--- | :--- | :--- |
| Authorization | string (required) | Bearer Token JWT. Formato: `Bearer `. |
| Parâmetro de Path | Tipo | Descrição |
| :--- | :--- | :--- |
| id | integer (required) | ID único do procedimento a atualizar. |
| Parâmetro de Body | Tipo | Descrição |
| :--- | :--- | :--- |
| medicalProcedure.price | number (optional) | Valor do procedimento. |
| medicalProcedure.name | string (optional) | Nome do procedimento. |
| medicalProcedure.modality | string (optional) | Modalidade de exame. |
| medicalProcedure.instructions | string (optional) | Instruções ao paciente. |
| linkedPartnerIds | integer[] (optional) | Array de IDs de parceiros vinculados. |
| Códigos de Resposta (Erro/Status) | Tipo | Descrição |
| :--- | :--- | :--- |
| 204 | No Content | Procedimento atualizado. |
| 401 | `UNAUTHORIZED` | Token inválido. |
| 404 | `NOT_FOUND` | Procedimento não encontrado. |
AtualizarProcedimentoMedico 6a3beee091d88e82a365ee9b
Schedule a medical procedure for a patient in a room. Accept payment information from the patient and partner’s co-participation. If the partner has paymentType "PARTIAL" or "TOTAL" and the body includes patientPayment, then coparticipationPayment is required.
{ "schedule": { "date": "2026-07-10", "startTime": "09:00", "medicalProcedureId": 3, "patientId": 101, "roomId": 7, "partnerId": 12 }, "patientPayment": { "status": "PAID", "value": 255.55, "method": "PIX" }
}
{ "scheduleId": 528 }
{ "errorMessage": "VALIDATION_ERROR", "errorType": "VALIDATION_ERROR", "validationsErrors": [{ "message": "coparticipationPayment required", "path": "coparticipationPayment" }]
}
Returns complete data for an agreement, including status and payment status.Amounts accepted at schedule.status:CANCELED · COMPLETED · CONFIRMED · ONLINE_CANCELED · ONLINE_CONFIRMED · ONLINE_SCHEDULED · IN_PROGRESS · NOT_CONFIRMED · WAITING_FOR_BILLING · WAITING_FOR_CHECKOUT · WITHDRAW_ · DELETED.
{ "schedule": { "date": "2026-07-10", "startTime": "09:00", "medicalProcedureId": 3, "patientId": 101, "status": "CONFIRMED", "paymentStatus": "PAID" }
}
Updates data from a schedule. Appointments with confirmed payment (paymentStatus: PAID) cannot be changed. Same co-participation rule as POST applies.
Returns data from a doctor by ID.