Files
baya-monorepo/dev/contracts/openapi/swagger.v1.json
T
hamid 39a979b1a7 @
backend phase 3: identity profiles, patients & nurse bank accounts

Add the role-attached identity layer on top of the b2 auth spine: nurse
seller profiles (guarded is_verified, read-only aggregates), thin customer
payer profiles, first-class patients (tenancy-scoped), and nurse payout bank
accounts hardened with an iban_hash uniqueness guard and an automated استعلام
شبا IBAN-ownership inquiry.

- Four usr tables via one migration (1:1 uniques, UNIQUE(iban_hash), filtered
  UNIQUE(nurse_id) WHERE is_primary=1, guarded is_verified, encrypted PII,
  soft-delete on nurse_profiles)
- 15 CQRS slices + 4 role-scoped controllers; reads projected + paginated,
  IBAN masked (last-4); ownership-inquiry endpoints rate-limited
- New IBankAccountOwnershipVerifier seam (mock deterministic شبا match) +
  per-domain repositories on IUnitOfWork + encrypted-PII value converters
- Activate FluentValidation repo-wide (validators were never registered)
- Handler unit tests + WebApplicationFactory integration tests (76 pass);
  contract identity-profiles.md + swagger snapshot; docs, handoff & report

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
2026-07-02 12:03:15 +03:30

4165 lines
102 KiB
JSON

{
"x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
"openapi": "3.0.0",
"info": {
"title": "Clean Architecture OpenAPI docs",
"version": "v1"
},
"servers": [
{
"url": "http://localhost"
}
],
"paths": {
"/api/v1/audit/get_audit_trail": {
"get": {
"tags": [
"Audit"
],
"operationId": "Audit_GetAuditTrail",
"parameters": [
{
"name": "EntityType",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 1
},
{
"name": "EntityId",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 2
},
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 3
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 4
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfAuditLogDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/auth/request_otp": {
"post": {
"tags": [
"Auth"
],
"operationId": "Auth_RequestOtp",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequestOtpCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfRequestOtpResult"
}
}
}
}
}
}
},
"/api/v1/auth/verify_otp": {
"post": {
"tags": [
"Auth"
],
"operationId": "Auth_VerifyOtp",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyOtpCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfAuthTokensResult"
}
}
}
}
}
}
},
"/api/v1/auth/refresh": {
"post": {
"tags": [
"Auth"
],
"operationId": "Auth_Refresh",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RefreshTokenCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfAuthTokensResult"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/api/v1/auth/logout": {
"post": {
"tags": [
"Auth"
],
"operationId": "Auth_Logout",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogoutCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/customer_profiles/upsert": {
"post": {
"tags": [
"CustomerProfiles"
],
"operationId": "CustomerProfiles_Upsert",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertCustomerProfileCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfCustomerProfileDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/customer_profiles/me": {
"get": {
"tags": [
"CustomerProfiles"
],
"operationId": "CustomerProfiles_Me",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfCustomerProfileDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/holidays/get_holidays": {
"get": {
"tags": [
"Holidays"
],
"summary": "Returns all Holidays",
"operationId": "Holidays_GetHolidays",
"parameters": [
{
"name": "From",
"in": "query",
"schema": {
"type": "string",
"format": "date",
"nullable": true
},
"x-position": 1
},
{
"name": "To",
"in": "query",
"schema": {
"type": "string",
"format": "date",
"nullable": true
},
"x-position": 2
},
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 3
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 4
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfHolidayDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/holidays/upsert_holiday": {
"post": {
"tags": [
"Holidays"
],
"operationId": "Holidays_UpsertHoliday",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertHolidayCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/holidays/delete_holiday": {
"post": {
"tags": [
"Holidays"
],
"summary": "Deletes a Holiday by unique id",
"operationId": "Holidays_DeleteHoliday",
"requestBody": {
"x-name": "command",
"description": "A unique id for the Holiday",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteHolidayCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/me": {
"get": {
"tags": [
"Me"
],
"summary": "Retrieves a Me by unique id",
"operationId": "Me_GetMe",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfMeResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/me/select_role": {
"post": {
"tags": [
"Me"
],
"description": "Role claims live inside the access token — after selecting a role the client should\n refresh its tokens to pick the new role up.",
"operationId": "Me_SelectRole",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SelectRoleCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfMeResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/notifications/get_notifications": {
"get": {
"tags": [
"Notifications"
],
"summary": "Returns all Notifications",
"operationId": "Notifications_GetNotifications",
"parameters": [
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 1
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 2
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfNotificationDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/notifications/get_unread_count": {
"get": {
"tags": [
"Notifications"
],
"operationId": "Notifications_GetUnreadCount",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfUnreadCountResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/notifications/mark_notification_read": {
"post": {
"tags": [
"Notifications"
],
"operationId": "Notifications_MarkNotificationRead",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MarkNotificationReadCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/notifications/mark_all_read": {
"post": {
"tags": [
"Notifications"
],
"operationId": "Notifications_MarkAllRead",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_bank_accounts/add": {
"post": {
"tags": [
"NurseBankAccounts"
],
"operationId": "NurseBankAccounts_Add",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddNurseBankAccountCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfNurseBankAccountDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_bank_accounts/set_primary/{id}": {
"post": {
"tags": [
"NurseBankAccounts"
],
"operationId": "NurseBankAccounts_SetPrimary",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_bank_accounts/list": {
"get": {
"tags": [
"NurseBankAccounts"
],
"operationId": "NurseBankAccounts_List",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfNurseBankAccountDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_bank_accounts/verify_ownership/{id}": {
"post": {
"tags": [
"NurseBankAccounts"
],
"operationId": "NurseBankAccounts_VerifyOwnership",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfNurseBankAccountDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_profiles/upsert": {
"post": {
"tags": [
"NurseProfiles"
],
"operationId": "NurseProfiles_Upsert",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertNurseProfileCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfNurseProfileDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_profiles/set_accepting_bookings": {
"post": {
"tags": [
"NurseProfiles"
],
"operationId": "NurseProfiles_SetAcceptingBookings",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetNurseAcceptingBookingsCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/nurse_profiles/me": {
"get": {
"tags": [
"NurseProfiles"
],
"operationId": "NurseProfiles_Me",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfNurseProfileDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/patients/create": {
"post": {
"tags": [
"Patients"
],
"summary": "Creates a Patient",
"operationId": "Patients_Create",
"requestBody": {
"x-name": "command",
"description": "A Patient representation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatePatientCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPatientDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/patients/list": {
"get": {
"tags": [
"Patients"
],
"operationId": "Patients_List",
"parameters": [
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 1
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 2
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfPatientDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/patients/get/{id}": {
"get": {
"tags": [
"Patients"
],
"summary": "Retrieves a Patient by unique id",
"operationId": "Patients_Get",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"description": "A unique id for the Patient",
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPatientDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/patients/update/{id}": {
"post": {
"tags": [
"Patients"
],
"summary": "Updates a Patient by unique id",
"operationId": "Patients_Update",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"description": "A Patient representation",
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePatientCommand"
}
}
},
"required": true,
"x-position": 2
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPatientDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/patients/archive/{id}": {
"post": {
"tags": [
"Patients"
],
"operationId": "Patients_Archive",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/ping/get_status": {
"get": {
"tags": [
"Ping"
],
"operationId": "Ping_GetStatus",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPingQueryResult"
}
}
}
}
}
}
},
"/api/v1/ping/get_status_rate_limited": {
"get": {
"tags": [
"Ping"
],
"operationId": "Ping_GetStatusRateLimited",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPingQueryResult"
}
}
}
}
}
}
},
"/api/v1/platform_config/get_platform_configs": {
"get": {
"tags": [
"PlatformConfig"
],
"summary": "Returns all PlatformConfigs",
"operationId": "PlatformConfig_GetPlatformConfigs",
"parameters": [
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 1
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 2
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfPlatformConfigDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/platform_config/update_platform_config": {
"post": {
"tags": [
"PlatformConfig"
],
"summary": "Updates a PlatformConfig by unique id",
"operationId": "PlatformConfig_UpdatePlatformConfig",
"requestBody": {
"x-name": "command",
"description": "A PlatformConfig representation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePlatformConfigCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/platform_config/get_config_change_history": {
"get": {
"tags": [
"PlatformConfig"
],
"operationId": "PlatformConfig_GetConfigChangeHistory",
"parameters": [
{
"name": "Key",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 1
},
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 2
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 3
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfConfigChangeDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/support_alerts/get_support_alerts": {
"get": {
"tags": [
"SupportAlerts"
],
"summary": "Returns all SupportAlerts",
"operationId": "SupportAlerts_GetSupportAlerts",
"parameters": [
{
"name": "Type",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 1
},
{
"name": "Status",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 2
},
{
"name": "OwnerUserId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"nullable": true
},
"x-position": 3
},
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 4
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 5
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfSupportAlertDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/support_alerts/assign_support_alert": {
"post": {
"tags": [
"SupportAlerts"
],
"operationId": "SupportAlerts_AssignSupportAlert",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssignSupportAlertCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/support_alerts/resolve_support_alert": {
"post": {
"tags": [
"SupportAlerts"
],
"operationId": "SupportAlerts_ResolveSupportAlert",
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveSupportAlertCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
}
},
"components": {
"schemas": {
"ApiResultOfDictionaryOfStringAndListOfString": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"nullable": true,
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
]
},
"ApiResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"isSuccess": {
"type": "boolean"
},
"statusCode": {
"$ref": "#/components/schemas/ApiResultStatusCode"
},
"message": {
"type": "string",
"nullable": true
},
"requestId": {
"type": "string",
"nullable": true
}
}
},
"ApiResultStatusCode": {
"type": "integer",
"description": "",
"x-enumNames": [
"Success",
"BadRequest",
"UnAuthorized",
"Forbidden",
"NotFound",
"NotAcceptable",
"EntityProcessError",
"FailedDependency",
"ServerError"
],
"enum": [
200,
400,
401,
403,
404,
406,
422,
424,
500
]
},
"ApiResultOfPagedResultOfAuditLogDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfAuditLogDto"
}
]
}
}
}
]
},
"PagedResultOfAuditLogDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/AuditLogDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"AuditLogDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"entityType": {
"type": "string"
},
"entityId": {
"type": "string"
},
"action": {
"type": "string"
},
"changedFieldsJson": {
"type": "string",
"nullable": true
},
"actorUserId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"occurredAt": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResultOfRequestOtpResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/RequestOtpResult"
}
]
}
}
}
]
},
"RequestOtpResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"otpSent": {
"type": "boolean"
},
"resendAvailableInSeconds": {
"type": "integer",
"format": "int32"
}
}
},
"RequestOtpCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"phone": {
"type": "string"
}
}
},
"ApiResultOfAuthTokensResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/AuthTokensResult"
}
]
}
}
}
]
},
"AuthTokensResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
},
"accessExpiresAt": {
"type": "string",
"format": "date-time"
},
"refreshExpiresAt": {
"type": "string",
"format": "date-time"
},
"isNewUser": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"VerifyOtpCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"phone": {
"type": "string"
},
"code": {
"type": "string"
},
"deviceInfo": {
"type": "string",
"nullable": true
}
}
},
"RefreshTokenCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"refreshToken": {
"type": "string"
},
"deviceInfo": {
"type": "string",
"nullable": true
}
}
},
"LogoutCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"refreshToken": {
"type": "string",
"nullable": true
},
"everywhere": {
"type": "boolean"
}
}
},
"ApiResultOfCustomerProfileDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/CustomerProfileDto"
}
]
}
}
}
]
},
"CustomerProfileDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"defaultEmergencyContactName": {
"type": "string",
"nullable": true
},
"defaultEmergencyContactPhone": {
"type": "string",
"nullable": true
}
}
},
"UpsertCustomerProfileCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"defaultEmergencyContactName": {
"type": "string",
"nullable": true
},
"defaultEmergencyContactPhone": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPagedResultOfHolidayDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfHolidayDto"
}
]
}
}
}
]
},
"PagedResultOfHolidayDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/HolidayDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"HolidayDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"holidayDate": {
"type": "string",
"format": "date"
},
"nameFa": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"isBankClosed": {
"type": "boolean"
}
}
},
"UpsertHolidayCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"holidayDate": {
"type": "string",
"format": "date"
},
"nameFa": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"isBankClosed": {
"type": "boolean"
}
}
},
"DeleteHolidayCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"holidayDate": {
"type": "string",
"format": "date"
}
}
},
"ApiResultOfMeResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/MeResult"
}
]
}
}
}
]
},
"MeResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"phone": {
"type": "string"
},
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"gender": {
"type": "string",
"nullable": true
},
"isActive": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"hasCustomerProfile": {
"type": "boolean"
},
"hasNurseProfile": {
"type": "boolean"
},
"nurseVerificationStatus": {
"type": "string"
}
}
},
"SelectRoleCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"role": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPagedResultOfNotificationDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfNotificationDto"
}
]
}
}
}
]
},
"PagedResultOfNotificationDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/NotificationDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"NotificationDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"dataJson": {
"type": "string",
"nullable": true
},
"isRead": {
"type": "boolean"
},
"readAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResultOfUnreadCountResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/UnreadCountResult"
}
]
}
}
}
]
},
"UnreadCountResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"count": {
"type": "integer",
"format": "int32"
}
}
},
"MarkNotificationReadCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"notificationId": {
"type": "integer",
"format": "int64"
}
}
},
"ApiResultOfNurseBankAccountDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/NurseBankAccountDto"
}
]
}
}
}
]
},
"NurseBankAccountDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"bankName": {
"type": "string",
"nullable": true
},
"ibanMasked": {
"type": "string",
"nullable": true
},
"isPrimary": {
"type": "boolean"
},
"isVerified": {
"type": "boolean"
},
"matchedNationalId": {
"type": "boolean",
"nullable": true
}
}
},
"AddNurseBankAccountCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"bankName": {
"type": "string",
"nullable": true
},
"accountHolderName": {
"type": "string",
"nullable": true
},
"iban": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfIReadOnlyListOfNurseBankAccountDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/NurseBankAccountDto"
}
}
}
}
]
},
"ApiResultOfNurseProfileDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/NurseProfileDto"
}
]
}
}
}
]
},
"NurseProfileDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"bio": {
"type": "string",
"nullable": true
},
"yearsOfExperience": {
"type": "integer",
"format": "int32"
},
"educationLevel": {
"type": "string",
"nullable": true
},
"educationField": {
"type": "string",
"nullable": true
},
"specializationsJson": {
"type": "string",
"nullable": true
},
"isVerified": {
"type": "boolean"
},
"isAcceptingBookings": {
"type": "boolean"
},
"averageRating": {
"type": "number",
"format": "decimal"
},
"totalReviews": {
"type": "integer",
"format": "int32"
},
"totalCompletedBookings": {
"type": "integer",
"format": "int32"
}
}
},
"UpsertNurseProfileCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"bio": {
"type": "string",
"nullable": true
},
"yearsOfExperience": {
"type": "integer",
"format": "int32"
},
"educationLevel": {
"type": "string",
"nullable": true
},
"educationField": {
"type": "string",
"nullable": true
},
"specializationsJson": {
"type": "string",
"nullable": true
}
}
},
"SetNurseAcceptingBookingsCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"accepting": {
"type": "boolean"
}
}
},
"ApiResultOfPatientDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PatientDto"
}
]
}
}
}
]
},
"PatientDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"displayName": {
"type": "string",
"nullable": true
},
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"birthDate": {
"type": "string",
"format": "date"
},
"gender": {
"type": "string",
"nullable": true
},
"bloodType": {
"type": "string",
"nullable": true
},
"initialMedicalNotes": {
"type": "string",
"nullable": true
},
"isActive": {
"type": "boolean"
}
}
},
"CreatePatientCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"displayName": {
"type": "string",
"nullable": true
},
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"birthDate": {
"type": "string",
"format": "date"
},
"gender": {
"type": "string",
"nullable": true
},
"bloodType": {
"type": "string",
"nullable": true
},
"initialMedicalNotes": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPagedResultOfPatientDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfPatientDto"
}
]
}
}
}
]
},
"PagedResultOfPatientDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/PatientDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"UpdatePatientCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"displayName": {
"type": "string",
"nullable": true
},
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"birthDate": {
"type": "string",
"format": "date"
},
"gender": {
"type": "string",
"nullable": true
},
"bloodType": {
"type": "string",
"nullable": true
},
"initialMedicalNotes": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPingQueryResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PingQueryResult"
}
]
}
}
}
]
},
"PingQueryResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"service": {
"type": "string",
"nullable": true
},
"status": {
"type": "string",
"nullable": true
},
"serverTimeUtc": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResultOfPagedResultOfPlatformConfigDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfPlatformConfigDto"
}
]
}
}
}
]
},
"PagedResultOfPlatformConfigDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/PlatformConfigDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"PlatformConfigDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
},
"dataType": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
},
"UpdatePlatformConfigCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string",
"nullable": true
},
"value": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPagedResultOfConfigChangeDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfConfigChangeDto"
}
]
}
}
}
]
},
"PagedResultOfConfigChangeDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/ConfigChangeDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"ConfigChangeDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"action": {
"type": "string"
},
"changedFieldsJson": {
"type": "string",
"nullable": true
},
"actorUserId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"occurredAt": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResultOfPagedResultOfSupportAlertDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfSupportAlertDto"
}
]
}
}
}
]
},
"PagedResultOfSupportAlertDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/SupportAlertDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"SupportAlertDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
},
"severity": {
"type": "string"
},
"status": {
"type": "string"
},
"entityType": {
"type": "string"
},
"entityId": {
"type": "string"
},
"bookingId": {
"type": "integer",
"format": "int64",
"nullable": true
},
"reviewId": {
"type": "integer",
"format": "int64",
"nullable": true
},
"ownerUserId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"resolutionNote": {
"type": "string",
"nullable": true
},
"resolvedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"AssignSupportAlertCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"alertId": {
"type": "integer",
"format": "int64"
},
"ownerUserId": {
"type": "integer",
"format": "int32"
}
}
},
"ResolveSupportAlertCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"alertId": {
"type": "integer",
"format": "int64"
},
"note": {
"type": "string",
"nullable": true
}
}
}
},
"securitySchemes": {
"Bearer": {
"type": "http",
"description": "Enter JWT Token ONLY",
"name": "Authorization",
"in": "header",
"scheme": "Bearer"
}
}
}
}