{
  "openapi": "3.0.1",
  "info": {
    "title": "Medrio OpenApi v.42.14.0.201",
    "description": "Medrio OpenApi v.42.14.0.201",
    "contact": {
      "name": "Medrio Inc.",
      "email": ""
    },
    "version": "v1"
  },
  "paths": {
    "/api/configuration/language": {
      "get": {
        "tags": [
          "Configuration"
        ],
        "summary": "Get languages.",
        "operationId": "GetLanguages",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LanguageResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LanguageResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/configuration/timezone": {
      "get": {
        "tags": [
          "Configuration"
        ],
        "summary": "Get timezones.",
        "operationId": "GetTimeZones",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeZoneResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TimeZoneResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subject/{subjectId}/visit": {
      "get": {
        "tags": [
          "DataEntry"
        ],
        "summary": "Get subject visit collection.",
        "operationId": "GetSubjectVisitCollection",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          },
          {
            "name": "subjectId",
            "in": "path",
            "description": "Subject identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Subject identifier",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectVisitResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectVisitResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/SubjectVisitTemplate": {
      "post": {
        "tags": [
          "DataEntry"
        ],
        "summary": "Get subject visit template.",
        "operationId": "GetSubjectVisitTemplate",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Contains 5 properties need to retrieve a template",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectVisitTemplateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectVisitTemplateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectVisitTemplateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/SubjectVisitTemplateRequest"
              }
            },
            "application/*+xml": {
              "schema": {
                "$ref": "#/components/schemas/SubjectVisitTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataEntryTemplateResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DataEntryTemplateResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/clearForm": {
      "put": {
        "tags": [
          "DataEntry"
        ],
        "summary": "Clear form data for collection point.",
        "operationId": "CollectionPointClearForm",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Collection Point identifier and reason for clearing data",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionPointClearFormRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionPointClearFormRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionPointClearFormRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/dataentry": {
      "post": {
        "tags": [
          "DataEntry"
        ],
        "summary": "Save data entry.",
        "operationId": "DataEntry",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Record data",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      },
      "put": {
        "tags": [
          "DataEntry"
        ],
        "summary": "Update data entry.",
        "operationId": "DataEntry",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Update record data",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DataEntryRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/{subjectId}/visit/{visitId}/form/{formId}/dataentry": {
      "post": {
        "tags": [
          "DataEntry"
        ],
        "operationId": "SaveDataEntry",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "subjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "formId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveDataEntryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveDataEntryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveDataEntryRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveDataEntryResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SaveDataEntryResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/group": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Gets study groups.",
        "operationId": "GetStudyGroups",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/GroupResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user": {
      "post": {
        "tags": [
          "Memberships"
        ],
        "summary": "Add user to study",
        "operationId": "AddUserToStudy",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MembershipRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MembershipResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "Get study users with membership information.",
        "operationId": "GetStudyUsers",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudyUserResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StudyUserResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user/{userId}/role": {
      "put": {
        "tags": [
          "Memberships"
        ],
        "summary": "Assign roles to user.",
        "operationId": "AddUserRoles",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "User ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "User ID.",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Roles to add.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MemberRolesIdsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberRolesIdsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MemberRolesIdsRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/MemberRolesIdsRequest"
              }
            },
            "application/*+xml": {
              "schema": {
                "$ref": "#/components/schemas/MemberRolesIdsRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user/{userId}/site": {
      "put": {
        "tags": [
          "Memberships"
        ],
        "summary": "Assign sites to user.",
        "operationId": "AddUserSites",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "User ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "User ID.",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "List of Ids for Sites to add to specified user.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MemberSiteIdsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberSiteIdsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MemberSiteIdsRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user/{userId}/role/{roleId}": {
      "delete": {
        "tags": [
          "Memberships"
        ],
        "summary": "Remove user's role.",
        "operationId": "RemoveUserRole",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "User ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "User ID.",
              "format": "int64"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "description": "Role to remove.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role to remove.",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user/{userId}/site/{siteId}": {
      "delete": {
        "tags": [
          "Memberships"
        ],
        "summary": "Remove user from site.",
        "operationId": "RemoveUserSite",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "User ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "User ID.",
              "format": "int64"
            }
          },
          {
            "name": "siteId",
            "in": "path",
            "description": "ID of Site to remove from specified user on specified study.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of Site to remove from specified user on specified study.",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/user/{userId}": {
      "delete": {
        "tags": [
          "Memberships"
        ],
        "summary": "Remove user from study.",
        "operationId": "RemoveUserFromStudy",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study ID.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study ID.",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "User ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "User ID.",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Oauth/token": {
      "post": {
        "tags": [
          "Oauth"
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "UserName": {
                    "type": "string",
                    "format": "string",
                    "nullable": true
                  },
                  "Password": {
                    "type": "string",
                    "format": "password",
                    "nullable": true
                  },
                  "GrantType": {
                    "type": "string",
                    "format": "string",
                    "nullable": true
                  },
                  "RefreshToken": {
                    "type": "string",
                    "format": "string",
                    "nullable": true
                  },
                  "CustomerApiKey": {
                    "type": "string",
                    "format": "string",
                    "nullable": true
                  }
                }
              },
              "encoding": {
                "UserName": {
                  "style": "form"
                },
                "Password": {
                  "style": "form"
                },
                "GrantType": {
                  "style": "form"
                },
                "RefreshToken": {
                  "style": "form"
                },
                "CustomerApiKey": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthErrorResponseModel"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/role": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get study roles.",
        "operationId": "GetStudyRoles",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/site": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets study sites.",
        "operationId": "GetStudySites",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study": {
      "get": {
        "tags": [
          "Studies"
        ],
        "summary": "Get studies.",
        "operationId": "GetStudies",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudyResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StudyResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/domain": {
      "get": {
        "tags": [
          "Studies"
        ],
        "summary": "Get study domains",
        "operationId": "GetStudyDomains",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DomainResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/feature/{feature}": {
      "get": {
        "tags": [
          "Studies"
        ],
        "summary": "Get studies filtered by feature name.",
        "operationId": "GetStudiesByFeature",
        "parameters": [
          {
            "name": "feature",
            "in": "path",
            "description": "Feature name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Feature name.",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudyResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StudyResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/reasonForDataChange": {
      "get": {
        "tags": [
          "Studies"
        ],
        "summary": "Get list of reasons for data change. Required for data entry/update.",
        "operationId": "GetReasonsForDataChange",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonForDataChangeResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonForDataChangeResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/configuration": {
      "get": {
        "tags": [
          "Studies"
        ],
        "summary": "Study configuration with its configuration objects.",
        "operationId": "GetStudyConfigurationWithObjects",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudyConfigurationResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StudyConfigurationResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subject": {
      "get": {
        "tags": [
          "Subjects"
        ],
        "summary": "Get a list of active subjects.",
        "operationId": "GetStudySubjects",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Subjects"
        ],
        "summary": "Create a subject",
        "operationId": "CreateSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          },
          {
            "name": "omitConsentData",
            "in": "query",
            "description": "If true then skip consent requests and return object without consent data",
            "schema": {
              "type": "boolean",
              "description": "If true then skip consent requests and return object without consent data",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NewSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Update subject",
        "operationId": "EditSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EditSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/subjectStatus/deleted": {
      "get": {
        "tags": [
          "Subjects"
        ],
        "summary": "Get a list of deactivated subjects.",
        "operationId": "GetDeletedSubjects",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subject/medrioIdentifier": {
      "post": {
        "tags": [
          "Subjects"
        ],
        "summary": "Create a subject (Medrio identifier only)",
        "operationId": "CreateSubjectMedrioId",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Update a subject (Medrio Identifier only)",
        "operationId": "UpdateSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/subjectIdentifier": {
      "post": {
        "tags": [
          "Subjects"
        ],
        "summary": "Create a subject (Subject identifier)",
        "operationId": "CreateSubjectCustomId",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Update a subject (Subject identifier)",
        "operationId": "UpdateSubjectWithSubjectIdentifier",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/eproMedrioIdentifier": {
      "post": {
        "tags": [
          "Subjects"
        ],
        "summary": "Create an ePRO subject (Medrio identifier only)",
        "operationId": "CreateEproSubjectMedrioId",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID for an EPRO study",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID for an EPRO study",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEproSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEproSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEproSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Update an ePRO subject (Medrio identifier only)",
        "operationId": "UpdateEproSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEproSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEproSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEproSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/eproSubjectIdentifier": {
      "post": {
        "tags": [
          "Subjects"
        ],
        "summary": "Create an ePRO subject (Subject identifier)",
        "operationId": "CreateEproSubjectCustomId",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID for an EPRO study",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID for an EPRO study",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomEproSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomEproSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomEproSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Update an ePRO subject (Subject identifier)",
        "operationId": "UpdateEproSubjectWithSubjectIdentifier",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Global study ID or external ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Global study ID or external ID",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomEproSubjectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomEproSubjectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomEproSubjectRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          }
        }
      }
    },
    "/api/study/{studyId}/subject/deactivate": {
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Deactivates (soft-deletes) a subject.",
        "operationId": "DeactivateSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study Id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study Id",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Payload.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectDeactivateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectDeactivateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectDeactivateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subject/activate": {
      "put": {
        "tags": [
          "Subjects"
        ],
        "summary": "Activates (un-deletes) a subject.",
        "operationId": "ActivateSubject",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study Id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study Id",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Payload.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectActivateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectActivateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectActivateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subjectStatus": {
      "get": {
        "tags": [
          "SubjectStatuses"
        ],
        "summary": "Gets study groups.",
        "operationId": "GetSubjectStatuses",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectStatusResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectStatusResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subscriptions/events-configuration": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get an event configuration for study",
        "operationId": "GetSubscriptionEventsConfiguration",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionEventConfigurationResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionEventConfigurationResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subscriptions": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get all subscriptions to study events",
        "operationId": "GetSubscriptions",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseIEnumerableEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseIEnumerableEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Add a new subscription to study events",
        "operationId": "CreateSubscription",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/study/{studyId}/subscriptions/{subscriptionId}": {
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Edit the subscription to study event",
        "operationId": "UpdateSubscription",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Subscription identifier",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Delete the subscription to study event",
        "operationId": "DeleteSubscription",
        "parameters": [
          {
            "name": "studyId",
            "in": "path",
            "description": "Study identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Study identifier",
              "format": "uuid"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription identifier",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Subscription identifier",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/user": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get all users of a customer no matter of study affiliation or study status",
        "operationId": "GetCustomerUsers",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserWithStudiesICollectionEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserWithStudiesICollectionEventResultWithResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update user account.",
        "operationId": "UpdateUser",
        "requestBody": {
          "description": "User info",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/*+xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StringEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/changePassword": {
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Change enterprise user password",
        "operationId": "ChangeEnterpriseUserPassword",
        "requestBody": {
          "description": "Enterprise user credentials request model.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CredentialRequest"
              }
            },
            "application/*+xml": {
              "schema": {
                "$ref": "#/components/schemas/CredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponseEventResultWithResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponseEventResultWithResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "LanguageResponse": {
        "type": "object",
        "properties": {
          "cultureName": {
            "type": "string",
            "nullable": true
          },
          "nativeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LanguageResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LanguageResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeZoneResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeZoneResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeZoneResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectVisitResponse": {
        "type": "object",
        "properties": {
          "collectionPointId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "dataEntered": {
            "type": "boolean"
          },
          "formId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "formName": {
            "type": "string",
            "nullable": true
          },
          "formSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isMonitored": {
            "type": "boolean",
            "nullable": true
          },
          "locked": {
            "type": "boolean"
          },
          "siteName": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectName": {
            "type": "string",
            "nullable": true
          },
          "visitGroupName": {
            "type": "string",
            "nullable": true
          },
          "visitId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "visitName": {
            "type": "string",
            "nullable": true
          },
          "visitSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectVisitResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectVisitResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectVisitTemplateRequest": {
        "required": [
          "formId",
          "subjectId",
          "visitId"
        ],
        "type": "object",
        "properties": {
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "visitId": {
            "type": "string",
            "format": "uuid"
          },
          "formId": {
            "type": "string",
            "format": "uuid"
          },
          "collectionPointId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "visitSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "formSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CollectionPointDataLastUpdatedModel": {
        "type": "object",
        "properties": {
          "maxDataUpdateId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "maxCollectionPointAuditEventId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "maxApprovalEventId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isCleared": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VariableValueTemplateModel": {
        "type": "object",
        "properties": {
          "selected": {
            "type": "boolean"
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "variableValueId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "DatumTemplateModel": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "formObjectId": {
            "type": "string",
            "format": "uuid"
          },
          "isCalculated": {
            "type": "boolean"
          },
          "isLocked": {
            "type": "boolean"
          },
          "isReadOnly": {
            "type": "boolean"
          },
          "isRequired": {
            "type": "boolean"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VariableValueTemplateModel"
            },
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "variableId": {
            "type": "string",
            "format": "uuid"
          },
          "variableName": {
            "type": "string",
            "nullable": true
          },
          "variableType": {
            "type": "string",
            "nullable": true
          },
          "dayRequired": {
            "type": "boolean",
            "nullable": true
          },
          "monthRequired": {
            "type": "boolean",
            "nullable": true
          },
          "yearRequired": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GridRowTemplateModel": {
        "type": "object",
        "properties": {
          "datums": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatumTemplateModel"
            },
            "nullable": true
          },
          "rowNumber": {
            "type": "integer",
            "format": "int32"
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GridTemplateModel": {
        "type": "object",
        "properties": {
          "gridId": {
            "type": "string",
            "format": "uuid"
          },
          "isPreFilled": {
            "type": "boolean"
          },
          "isApiConsumable": {
            "type": "boolean"
          },
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GridRowTemplateModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataEntryTemplateResponse": {
        "type": "object",
        "properties": {
          "collectionPointDataLastUpdated": {
            "$ref": "#/components/schemas/CollectionPointDataLastUpdatedModel"
          },
          "configLastUpdatedTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "datums": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatumTemplateModel"
            },
            "nullable": true
          },
          "formId": {
            "type": "string",
            "format": "uuid"
          },
          "formName": {
            "type": "string",
            "nullable": true
          },
          "formSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "grids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GridTemplateModel"
            },
            "nullable": true
          },
          "reasonForChange": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "visitId": {
            "type": "string",
            "format": "uuid"
          },
          "visitName": {
            "type": "string",
            "nullable": true
          },
          "visitSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataEntryTemplateResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/DataEntryTemplateResponse"
          }
        },
        "additionalProperties": false
      },
      "IDataEntryRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "CollectionPointClearFormRequest": {
        "required": [
          "reasonForDataChange"
        ],
        "type": "object",
        "properties": {
          "collectionPointId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "reasonForDataChange": {
            "type": "string"
          },
          "instance": {
            "$ref": "#/components/schemas/IDataEntryRequest"
          }
        },
        "additionalProperties": false
      },
      "DataEntryRequest": {
        "required": [
          "datums",
          "formId",
          "subjectId",
          "visitId"
        ],
        "type": "object",
        "properties": {
          "collectionPointDataLastUpdated": {
            "$ref": "#/components/schemas/CollectionPointDataLastUpdatedModel"
          },
          "configLastUpdatedTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "datums": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatumTemplateModel"
            }
          },
          "grids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GridTemplateModel"
            },
            "nullable": true
          },
          "formId": {
            "type": "string",
            "format": "uuid"
          },
          "formSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reasonForChange": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "visitId": {
            "type": "string",
            "format": "uuid"
          },
          "visitSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SaveDataEntryVariableRequest": {
        "required": [
          "variableId"
        ],
        "type": "object",
        "properties": {
          "variableId": {
            "type": "string",
            "format": "uuid"
          },
          "fieldValue": {
            "type": "string",
            "nullable": true
          },
          "fieldValues": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SaveDataEntryGridRowRequest": {
        "required": [
          "variables"
        ],
        "type": "object",
        "properties": {
          "rowNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveDataEntryVariableRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "SaveDataEntryRequest": {
        "type": "object",
        "properties": {
          "visitSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "formSequenceNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "formMonitorOverride": {
            "type": "boolean"
          },
          "variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveDataEntryVariableRequest"
            },
            "nullable": true
          },
          "gridRows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveDataEntryGridRowRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SaveDataEntryResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SaveDataEntryResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/SaveDataEntryResponse"
          }
        },
        "additionalProperties": false
      },
      "GroupResponse": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "enrollmentGoal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enrollmentLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GroupResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MembershipRequest": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "userName"
        ],
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "sites": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "firstName": {
            "type": "string"
          },
          "isSso": {
            "type": "boolean"
          },
          "lastName": {
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "allSitesAccess": {
            "type": "boolean",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MembershipResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "MembershipResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/MembershipResponse"
          }
        },
        "additionalProperties": false
      },
      "StudyUserResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean"
          },
          "isSso": {
            "type": "boolean"
          },
          "isTfaEnabled": {
            "type": "boolean"
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "sites": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "allSitesAccess": {
            "type": "boolean"
          },
          "domainId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "StudyUserResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StudyUserResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MemberRolesIdsRequest": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StringEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MemberSiteIdsRequest": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "allSitesAccess": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OAuthErrorResponseModel": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "traceId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OAuthResponseModel": {
        "required": [
          "accessToken",
          "expiresIn",
          "tokenType",
          "userId",
          "userName"
        ],
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "expiresIn": {
            "type": "integer",
            "format": "int32"
          },
          "tokenType": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string",
            "nullable": true
          },
          "userName": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "isTFAEnabled": {
            "type": "boolean"
          },
          "expiresUtc": {
            "type": "string",
            "format": "date-time"
          },
          "issuedUtc": {
            "type": "string",
            "format": "date-time"
          },
          "internalServiceName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleResponse": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteResponse": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "siteNumber": {
            "type": "string",
            "nullable": true
          },
          "enrollmentGoal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enrollmentLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StudyResponse": {
        "type": "object",
        "properties": {
          "features": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "instanceId": {
            "type": "integer",
            "format": "int32"
          },
          "isApiAccessAllowed": {
            "type": "boolean"
          },
          "isEPro": {
            "type": "boolean"
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "studyId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StudyResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StudyResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DomainResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isSSOAccessEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DomainResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DomainResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReasonForDataChangeResponse": {
        "type": "object",
        "properties": {
          "reasonForDataChangeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "lookupText": {
            "type": "string",
            "nullable": true
          },
          "commentEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ReasonForDataChangeResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReasonForDataChangeResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FormConfiguration": {
        "type": "object",
        "properties": {
          "formId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "formType": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "exportName": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isRepeatForm": {
            "type": "boolean"
          },
          "minRepeatCount": {
            "type": "integer",
            "format": "int32"
          },
          "maxRepeatCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VisitConfiguration": {
        "type": "object",
        "properties": {
          "visitId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "repeatVisits": {
            "type": "boolean"
          },
          "isRepeatUnscheduled": {
            "type": "boolean"
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "minRepeats": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "maxiRepeats": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FormConfiguration"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VariableConfiguration": {
        "type": "object",
        "properties": {
          "variableId": {
            "type": "string",
            "format": "uuid"
          },
          "variableType": {
            "type": "string",
            "nullable": true
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortName": {
            "type": "string",
            "nullable": true
          },
          "isRequired": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "exportName": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isHiddenOnForm": {
            "type": "boolean"
          },
          "exportLabel": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GridVariableConfiguration": {
        "type": "object",
        "properties": {
          "variableId": {
            "type": "string",
            "format": "uuid"
          },
          "variableType": {
            "type": "string",
            "nullable": true
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortName": {
            "type": "string",
            "nullable": true
          },
          "isRequired": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "exportName": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isHiddenOnForm": {
            "type": "boolean"
          },
          "exportLabel": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "isPreFilled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GridConfiguration": {
        "type": "object",
        "properties": {
          "numberOfRows": {
            "type": "integer",
            "format": "int32"
          },
          "allowAddRows": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "gridVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GridVariableConfiguration"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FormObjectConfiguration": {
        "type": "object",
        "properties": {
          "formId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "formType": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "exportName": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid"
          },
          "variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VariableConfiguration"
            },
            "nullable": true
          },
          "grids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GridConfiguration"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StudyConfigurationResponse": {
        "type": "object",
        "properties": {
          "studyId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdByUserId": {
            "type": "string",
            "format": "uuid"
          },
          "studyBillingStatus": {
            "type": "string",
            "nullable": true
          },
          "hasUsedCustomSubjectIds": {
            "type": "boolean"
          },
          "exportDateFormat": {
            "type": "string",
            "nullable": true
          },
          "isRandomizationActive": {
            "type": "boolean"
          },
          "subjectIdFormat": {
            "type": "string",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "parentStudyId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "configLastUpdatedTimestamp": {
            "type": "string",
            "format": "date-time"
          },
          "visits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisitConfiguration"
            },
            "nullable": true
          },
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FormObjectConfiguration"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StudyConfigurationResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/StudyConfigurationResponse"
          }
        },
        "additionalProperties": false
      },
      "SubjectStatusResponse": {
        "type": "object",
        "properties": {
          "subjectStatusId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "enrolled": {
            "type": "boolean"
          },
          "excluded": {
            "type": "boolean"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConsentDocumentResponse": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "format": "uuid"
          },
          "documentName": {
            "type": "string",
            "nullable": true
          },
          "documentStatus": {
            "type": "integer",
            "format": "int32"
          },
          "documentStatusName": {
            "type": "string",
            "nullable": true
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConsentResponse": {
        "type": "object",
        "properties": {
          "isConsented": {
            "type": "boolean"
          },
          "consentStatus": {
            "type": "integer",
            "format": "int32"
          },
          "consentStatusName": {
            "type": "string",
            "nullable": true
          },
          "consentStatusId": {
            "type": "string",
            "format": "uuid"
          },
          "consentedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConsentDocumentResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectResponse": {
        "type": "object",
        "properties": {
          "subjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "subjectStatus": {
            "$ref": "#/components/schemas/SubjectStatusResponse"
          },
          "group": {
            "$ref": "#/components/schemas/GroupResponse"
          },
          "site": {
            "$ref": "#/components/schemas/SiteResponse"
          },
          "consent": {
            "$ref": "#/components/schemas/ConsentResponse"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "isRemote": {
            "type": "boolean"
          },
          "reasonForDeletion": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewSubjectRequest": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "format": "uuid"
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "isRemote": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SubjectResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/SubjectResponse"
          }
        },
        "additionalProperties": false
      },
      "EditSubjectRequest": {
        "required": [
          "subjectId"
        ],
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "format": "uuid"
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "isRemote": {
            "type": "boolean"
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CreateSubjectRequest": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateSubjectRequest": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CreateCustomSubjectRequest": {
        "required": [
          "subjectIdentifier"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectIdentifier": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateCustomSubjectRequest": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateEproSubjectRequest": {
        "required": [
          "language",
          "timeZone"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "isRemote": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateEproSubjectRequest": {
        "required": [
          "language",
          "subjectId",
          "timeZone"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "isRemote": {
            "type": "boolean",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CreateCustomEproSubjectRequest": {
        "required": [
          "language",
          "subjectIdentifier",
          "timeZone"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "isRemote": {
            "type": "boolean",
            "nullable": true
          },
          "subjectIdentifier": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateCustomEproSubjectRequest": {
        "required": [
          "language",
          "subjectId",
          "subjectIdentifier",
          "timeZone"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isUpdateUncollected": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "subjectStatusId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "isRemote": {
            "type": "boolean",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectIdentifier": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SubjectDeactivateRequest": {
        "type": "object",
        "properties": {
          "reasonForDeletion": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectActivateRequest": {
        "type": "object",
        "properties": {
          "subjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectStatusResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectStatusResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EventTypeConfigurationResponse": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "eventLinkedObjectType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EdcObjectResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "subType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionEventConfigurationResponse": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "nullable": true
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventTypeConfigurationResponse"
            },
            "nullable": true
          },
          "edcObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdcObjectResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionEventConfigurationResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionEventConfigurationResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionEventResponse": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "format": "uuid"
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "edcObject": {
            "$ref": "#/components/schemas/EdcObjectResponse"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "studyId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionEventResponse"
            },
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionResponseIEnumerableEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EdcObjectRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "subType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionEventRequest": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "format": "uuid"
          },
          "edcObject": {
            "$ref": "#/components/schemas/EdcObjectRequest"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionEventRequest"
            },
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/SubscriptionResponse"
          }
        },
        "additionalProperties": false
      },
      "UserWithStudies": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean"
          },
          "isSso": {
            "type": "boolean"
          },
          "isTfaEnabled": {
            "type": "boolean"
          },
          "studies": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "UserWithStudiesICollectionEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserWithStudies"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateUserRequest": {
        "required": [
          "email",
          "userName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "userName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CredentialRequest": {
        "required": [
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "format": "password"
          }
        },
        "additionalProperties": false
      },
      "CredentialResponse": {
        "type": "object",
        "properties": {
          "actionPerformedBy": {
            "type": "string",
            "nullable": true
          },
          "autoGeneratePassword": {
            "type": "boolean"
          },
          "isExpired": {
            "type": "boolean"
          },
          "userName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CredentialResponseEventResultWithResponse": {
        "type": "object",
        "properties": {
          "processedSuccessfully": {
            "type": "boolean"
          },
          "processMessage": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "$ref": "#/components/schemas/CredentialResponse"
          }
        },
        "additionalProperties": false
      },
      "OAuthRequestModel": {
        "type": "object",
        "properties": {
          "userName": {
            "type": "string",
            "format": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "format": "password",
            "nullable": true
          },
          "grantType": {
            "type": "string",
            "format": "string",
            "nullable": true
          },
          "refreshToken": {
            "type": "string",
            "format": "string",
            "nullable": true
          },
          "customerApiKey": {
            "type": "string",
            "format": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Bearer Authorization header using the Bearer scheme. </br>\r\n                                    Enter 'Bearer' [space] and then your token in the text input below </br>\r\n                                    Example: 'Bearer 72209b783224d467e608867241a89cf6'",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}